Como Converter uma String em Datetime no PowerShell
-
Use
ParseExact
para Converter String emDateTime
no PowerShell -
Use a Conversão Explícita para Converter uma String em
DateTime
no PowerShell -
Use o Cmdlet
Get-Date
para Converter uma String emDateTime
no PowerShell -
Use
Parse
para Converter uma String emDateTime
no PowerShell - Conclusão

Converter representações de strings de datas e horas em objetos DateTime
é uma tarefa comum na programação em PowerShell, frequentemente encontrada ao lidar com dados de diversas fontes ou formatos. Neste guia técnico, exploramos vários métodos para alcançar essa tarefa, cada um oferecendo suas vantagens únicas.
Desde a precisão do método ParseExact
até a simplicidade da conversão explícita [DateTime]
e a versatilidade do cmdlet Get-Date
, cobrimos várias abordagens para atender diferentes cenários e preferências. Além disso, mergulhamos no poderoso método Parse
, fornecendo explicações detalhadas, sintaxe e exemplos práticos de código para facilitar uma compreensão abrangente de cada método.
Use ParseExact
para Converter String em DateTime
no PowerShell
Converter uma representação de string de uma data e hora em um objeto DateTime
é uma tarefa comum na programação em PowerShell, especialmente ao lidar com dados de várias fontes ou formatos. Uma abordagem para realizar isso é usando o método ParseExact
, que permite especificar o formato exato da string de entrada, proporcionando mais controle sobre o processo de conversão.
$dateString = "2024-02-05"
$date = [datetime]::ParseExact($dateString, "yyyy-MM-dd", $null)
$date
No trecho de código PowerShell fornecido, estamos utilizando o método ParseExact
para converter uma representação de string de uma data, "2024-02-05"
, em um objeto DateTime
. Ao especificar o formato exato da string de entrada como "yyyy-MM-dd"
, garantimos uma conversão precisa, não afetada pelas configurações de data do sistema ou variações culturais.
O objeto DateTime
resultante, armazenado na variável $date
, representa com precisão a data analisada, permitindo integração suave nas operações subsequentes. Quando imprimimos $date
, obtemos a saída esperada, confirmando a conversão bem-sucedida.
Saída:
Use a Conversão Explícita para Converter uma String em DateTime
no PowerShell
O método explícito [DateTime]
no PowerShell é um acelerador de tipo que permite a conversão direta de uma string em um objeto DateTime
. Quando utilizado, instrui o PowerShell a interpretar a string fornecida como um valor DateTime
sem a necessidade de instruções adicionais de análise ou formatação.
Esse método é particularmente útil quando a string de entrada segue um formato de data padrão, como ISO 8601
(por exemplo, "YYYY-MM-DD"
), pois simplifica o processo de conversão e melhora a legibilidade do código.
$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date
Neste trecho de código PowerShell fornecido, estamos usando o método explícito [DateTime]
para converter a string "2024-02-05"
em um objeto DateTime
. Ao simplesmente atribuir a variável de string $dateString
à variável $date
com o acelerador de tipo [DateTime]
, o PowerShell converte automaticamente a string em um objeto DateTime
.
Quando imprimimos $date
, obtemos a saída esperada, confirmando a conversão bem-sucedida.
Saída:
Use o Cmdlet Get-Date
para Converter uma String em DateTime
no PowerShell
No PowerShell, o cmdlet Get-Date
serve não apenas para buscar a data e hora atuais, mas também para converter uma representação de string de uma data e hora em um objeto DateTime
. Essa flexibilidade torna o Get-Date
uma ferramenta útil para lidar com operações relacionadas a datas em scripts do PowerShell.
Quando fornecido com um argumento de string, o Get-Date
tenta automaticamente analisá-lo em um objeto DateTime
, tornando conveniente a conversão de strings de data de vários formatos em um formato DateTime
padronizado.
$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date
No trecho de código fornecido, temos uma variável de string $dateString
contendo a data no formato "YYYY-MM-DD"
. Utilizando o cmdlet Get-Date
, convertamos essa string em um objeto DateTime
e a atribuímos à variável $date
.
Confiamos no cmdlet Get-Date
para interpretar automaticamente a string $dateString
como uma data e analisá-la no objeto DateTime
correspondente.
Saída:
Use Parse
para Converter uma String em DateTime
no PowerShell
No PowerShell, o método Parse
é uma ferramenta poderosa para converter uma representação de string de uma data e hora em um objeto DateTime
. Este método proporciona controle preciso sobre o processo de análise, permitindo que o usuário especifique o formato exato da string de entrada.
Ao definir o formato explicitamente, o método Parse
garante uma conversão precisa, independentemente das configurações regionais ou variações culturais do sistema.
$dateString = "2024-02-05"
$date = [datetime]::Parse($dateString)
$date
Neste exemplo, demonstramos como usar o método Parse
para converter uma representação de string de uma data em um objeto DateTime
no PowerShell. Ao invocar o método Parse
no acelerador de tipo [datetime]
, analisamos a string de entrada $dateString
e armazenamos o resultado na variável $date
.
Saída:
Conclusão
O PowerShell oferece vários métodos para converter strings em objetos DateTime
, cada um atendendo a diferentes requisitos e preferências. Se você precisa de controle preciso sobre a formatação com ParseExact
, simplicidade com a conversão explícita [DateTime]
, análise automática com Get-Date
, ou controle detalhado com Parse
, o PowerShell fornece a flexibilidade e funcionalidade necessárias para uma manipulação eficiente de datas e horas.
Ao dominar esses métodos e entender suas nuances, os usuários do PowerShell podem simplificar seus scripts e lidar efetivamente com tarefas relacionadas a datas, aumentando a produtividade e garantindo um processamento de dados preciso.