PowerShell:
Convertendo uma data em uma string
Como Fazer:
Vamos direto ao ponto. No PowerShell, utilizamos o método ToString()
para converter uma data em string, e podemos especificar o formato que queremos.
# Data atual
$dataAtual = Get-Date
# Conversão padrão para string
$dataString = $dataAtual.ToString()
Write-Output $dataString
# Especificando formato
$dataFormatada = $dataAtual.ToString("dd/MM/yyyy")
Write-Output $dataFormatada
# Usando formatos culturais
[CultureInfo]::CurrentCulture = New-Object System.Globalization.CultureInfo("pt-BR")
$dataCultural = $dataAtual.ToString("D")
Write-Output $dataCultural
Saída de exemplo:
03/04/2023 14:55:23
03/04/2023
segunda-feira, 3 de abril de 2023
Detalhamento:
O ato de converter datas em strings não é novo. Em sistemas mais antigos, isso era essencial para documentar e comunicar informações relacionadas ao tempo. No PowerShell, o formato de conversão pode ser flexível e localizado, com o suporte a diferentes culturas.
Existem diferentes formas de especificar o formato:
- Formatos predefinidos (
"d"
,"D"
,"f"
, etc.) - Formatos personalizados (usando símbolos como
"dd"
,"MM"
,"yyyy"
)
É válido mencionar que o .NET oferece um suporte robusto para trabalhar com datas e strings, o qual o PowerShell aproveita. A internacionalização é uma consideração importante aqui, e o PowerShell permite configurar a cultura para respeitar os formatos de datas locais.
Alternativas ao ToString()
incluem o uso de -Format
com cmdlets, ou ainda, o uso de métodos de formatação de strings como o -f
operator.
# Uso de -Format com cmdlets
Write-Output (Get-Date -Format "yyyy-MM-dd")
# Uso do operador -f
$stringFormat = "{0:dd MMM yyyy}" -f (Get-Date)
Write-Output $stringFormat