Get-Date
Obtém a data e hora atuais.
Sintaxe
DateAndFormat (Predefinição)
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[-AsUTC]
[<CommonParameters>]
DateAndUFormat
Get-Date
[[-Date] <DateTime>]
-UFormat <String>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[<CommonParameters>]
UnixTimeSecondsAndFormat
Get-Date
-UnixTimeSeconds <Int64>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[-AsUTC]
[<CommonParameters>]
UnixTimeSecondsAndUFormat
Get-Date
-UnixTimeSeconds <Int64>
-UFormat <String>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[<CommonParameters>]
Description
O cmdlet Get-Date obtém um objeto DateTime que representa a data atual ou uma data especificada por você.
Get-Date pode formatar a data e hora em vários formatos .NET e Unix. Você pode usar Get-Date para gerar uma cadeia de caracteres de data ou hora e, em seguida, enviar a cadeia de caracteres para outros cmdlets ou programas.
Get-Date usa as configurações de cultura atuais do sistema operacional para determinar como a saída é formatada. Para ver as definições do computador, utilize (Get-Culture).DateTimeFormat.
Exemplos
Exemplo 1: Obter a data e hora atuais
Neste exemplo, Get-Date exibe a data e a hora atuais do sistema. A saída está nos formatos de longa data e de longa data.
Get-Date
Tuesday, June 25, 2019 14:53:32
Exemplo 2: Obter elementos da data e hora atuais
Este exemplo mostra como usar Get-Date para obter o elemento data ou hora. O parâmetro usa os argumentos Date, Timeou DateTime.
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date usa o parâmetro DisplayHint com o argumento Date para obter apenas a data.
Exemplo 3: Obter a data e a hora com um especificador de formato .NET
Neste exemplo, um especificador de formato .NET é usado para personalizar o formato da saída. A saída é um objeto String.
Get-Date -Format "dddd MM/dd/yyyy HH:mm K"
Tuesday 06/25/2019 16:17 -07:00
Get-Date usa o parâmetro Format para especificar vários especificadores de formato.
Os especificadores de formato .NET usados neste exemplo são definidos da seguinte maneira:
| Especificador | Definição |
|---|---|
dddd |
Dia da semana - nome completo |
MM |
Número do mês |
dd |
Dia do mês - 2 dígitos |
yyyy |
Ano em formato de 4 dígitos |
HH:mm |
Tempo em formato de 24 horas - sem segundos |
K |
Deslocamento de fuso horário da Coordenada de Tempo Universal (UTC) |
Para obter mais informações sobre especificadores de formato .NET, consulte Cadeias de caracteres de formato de data e hora personalizadas.
Exemplo 4: Obter a data e a hora com um especificador UFormat
Neste exemplo, vários especificadores de formato UFormat são usados para personalizar o formato da saída. A saída é um objeto String.
Get-Date -UFormat "%A %m/%d/%Y %R %Z"
Tuesday 06/25/2019 16:19 -07
Get-Date usa o parâmetro UFormat para especificar vários especificadores de formato.
Os especificadores de formato UFormat utilizados neste exemplo são definidos do seguinte modo:
| Especificador | Definição |
|---|---|
%A |
Dia da semana - nome completo |
%m |
Número do mês |
%d |
Dia do mês - 2 dígitos |
%Y |
Ano em formato de 4 dígitos |
%R |
Tempo em formato de 24 horas - sem segundos |
%Z |
Deslocamento de fuso horário da Coordenada de Tempo Universal (UTC) |
Para obter uma lista de especificadores de formato UFormat válidos, consulte a secção Notas.
Exemplo 5: Obter o dia do ano de uma data
Neste exemplo, uma propriedade é usada para obter o dia numérico do ano.
O calendário gregoriano tem 365 dias, exceto para os anos bissextos que têm 366 dias. Por exemplo, 31 de dezembro de 2020 é o dia 366.
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date usa três parâmetros para especificar a data: Ano, Mêse Dia. O comando é colocado entre parênteses para que o resultado seja avaliado pela propriedade DayOfYear.
Exemplo 6: Verificar se uma data está ajustada para o horário de verão
Este exemplo usa um método booleano para verificar se uma data é ajustada pelo horário de verão.
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
Uma variável, $DST armazena o resultado de Get-Date.
$DST usa o método IsDaylightSavingTime para testar se a data está ajustada para o horário de verão.
Exemplo 7: Converter a hora atual em hora UTC
Neste exemplo, a hora atual é convertida em hora UTC. O deslocamento UTC para a localidade do sistema é usado para converter a hora. Uma tabela na secção Notas lista os especificadores de formato UFormat válidos.
Get-Date -UFormat "%A %B/%d/%Y %T %Z"
$Time = Get-Date
$Time.ToUniversalTime()
Wednesday June/26/2019 10:45:26 -07
Wednesday, June 26, 2019 17:45:26
Get-Date usa o parâmetro UFormat com especificadores de formato para exibir a data e a hora atuais do sistema. O especificador de formato %Z representa o deslocamento UTC de -07.
A variável $Time armazena a data e a hora atuais do sistema.
$Time usa o método ToUniversalTime() para converter o tempo com base no deslocamento UTC do computador.
Exemplo 8: Criar um carimbo de data/hora
Neste exemplo, um especificador de formato cria um carimbo de data/hora objeto String para um nome de diretório. O carimbo de data/hora inclui a data, hora e deslocamento UTC.
$timestamp = Get-Date -Format o | ForEach-Object { $_ -replace ":", "." }
New-Item -Path C:\Test\$timestamp -Type Directory
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 6/27/2019 07:59 2019-06-27T07.59.24.4603750-07.00
A variável $timestamp armazena os resultados de um comando Get-Date.
Get-Date usa o parâmetro Format com o especificador de formato de o minúsculas para criar um carimbo de data/hora objeto String. O objeto é enviado pelo pipeline para ForEach-Object. Um ScriptBlock contém a variável $_ que representa o objeto de pipeline atual. A cadeia de caracteres de carimbo de data/hora é delimitada por dois pontos que são substituídos por pontos.
New-Item usa o parâmetro Path para especificar o local de um novo diretório. O caminho inclui a variável $timestamp como o nome do diretório. O parâmetro Type especifica que um diretório é criado.
Exemplo 9: Converter um carimbo de data/hora Unix
Este exemplo converte uma hora Unix (representada pelo número de segundos desde 1970-01-01 0:00:00) em DateTime.
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
Exemplo 10: Retornar um valor de data interpretado como UTC
Este exemplo mostra como interpretar um valor de data como seu equivalente UTC. Por exemplo, esta máquina está definida como Hora Padrão do Pacífico. Por padrão, Get-Date retorna valores para esse fuso horário. Use o parâmetro AsUTC para converter o valor para o tempo equivalente UTC.
PS> Get-TimeZone
Id : Pacific Standard Time
DisplayName : (UTC-08:00) Pacific Time (US & Canada)
StandardName : Pacific Standard Time
DaylightName : Pacific Daylight Time
BaseUtcOffset : -08:00:00
SupportsDaylightSavingTime : True
PS> (Get-Date -Date "2020-01-01T00:00:00").Kind
Unspecified
PS> Get-Date -Date "2020-01-01T00:00:00"
Wednesday, January 1, 2020 12:00:00 AM
PS> (Get-Date -Date "2020-01-01T00:00:00" -AsUTC).Kind
Utc
PS> Get-Date -Date "2020-01-01T00:00:00" -AsUTC
Wednesday, January 1, 2020 8:00:00 AM
Exemplo 11: Mostrar cultura invariante
O ToString() converte um objeto DateTime um String usando a configuração de cultura atual.
No entanto, a interpretação de expressão do PowerShell sempre usa a configuração de cultura invariante.
Por exemplo, em um sistema com a cultura en-US em vigor, o método ToString() formata a data usando as configurações de cultura en-US.
# Get date using current culture en-US
(Get-Date 2024-03-19).ToString()
3/19/2024 12:00:00 AM
# Get date using invariant culture
"$(Get-Date 2024-03-19)"
03/19/2024 00:00:00
Parâmetros
-AsUTC
Converte o valor de data para a hora equivalente em UTC.
Esse parâmetro foi introduzido no PowerShell 7.1.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Date
Especifica uma data e hora. A hora é opcional e, se não for especificada, retorna 00:00:00. Insira a data e a hora em um formato padrão para a localidade selecionada no momento. Você pode alterar a localidade atual usando o cmdlet Set-Culture.
Por exemplo, em inglês dos EUA:
Get-Date -Date "6/25/2019 12:30:22" retorna terça-feira, 25 de junho de 2019 12:30:22
Propriedades dos parâmetros
| Tipo: | DateTime |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | HoraDaÚltimaEscrita |
Conjuntos de parâmetros
DateAndFormat
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
DateAndUFormat
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Day
Especifica o dia do mês que é exibido. Insira um valor de 1 a 31.
Se o valor especificado for maior do que o número de dias em um mês, o PowerShell adicionará o número de dias ao mês. Por exemplo, Get-Date -Month 4 -Day 31 exibe 1º de maio, não 31 de abril de.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-DisplayHint
Determina quais elementos da data e hora são exibidos.
Os valores aceites são os seguintes:
- Data: exibe apenas a data
- Time: exibe apenas a hora
- DateTime: exibe a data e a hora
Propriedades dos parâmetros
| Tipo: | DisplayHintType |
| Default value: | None |
| Valores aceites: | Date, Time, DateTime |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Format
Exibe a data e a hora no formato Microsoft .NET Framework indicado pelo especificador de formato. O parâmetro Format gera uma String objeto.
Para obter uma lista de especificadores de formato .NET disponíveis, consulte Cadeias de caracteres de formato de data e hora personalizadas.
Quando o parâmetro Format é usado, Get-Date obtém apenas as propriedades DateTime objeto necessárias para exibir a data. Como resultado, algumas das propriedades e métodos de objetos DateTime podem não estar disponíveis.
A partir do PowerShell 5.0, você pode usar os seguintes formatos adicionais como valores para o parâmetro Format.
FileDate. Uma representação de arquivo ou caminho amigável da data atual no horário local. O formato é
yyyyMMdd(diferencia maiúsculas de minúsculas, usando um ano de 4 dígitos, um mês de 2 dígitos e um dia de 2 dígitos). Por exemplo: 20190627.FileDateUniversal. Uma representação de arquivo ou caminho amigável da data atual em tempo universal (UTC). O formato é
yyyyMMddZ(diferencia maiúsculas de minúsculas, usando um ano de 4 dígitos, um mês de 2 dígitos, um dia de 2 dígitos e a letraZcomo indicador UTC). Por exemplo: 20190627Z.FileDateTime. Uma representação de arquivo ou caminho amigável da data e hora atuais no horário local, no formato de 24 horas. O formato é
yyyyMMddTHHmmssffff(diferencia maiúsculas de minúsculas, usando um ano de 4 dígitos, mês de 2 dígitos, dia de 2 dígitos, a letraTcomo separador de tempo, hora de 2 dígitos, minuto de 2 dígitos, segundo de 2 dígitos e milissegundo de 4 dígitos). Por exemplo: 20190627T0840107271.FileDateTimeUniversal. Uma representação de arquivo ou caminho amigável da data e hora atuais em tempo universal (UTC), no formato de 24 horas. O formato é
yyyyMMddTHHmmssffffZ(diferencia maiúsculas de minúsculas, usando um ano de 4 dígitos, mês de 2 dígitos, dia de 2 dígitos, a letraTcomo separador de tempo, hora de 2 dígitos, minuto de 2 dígitos, segundo de 2 dígitos, milissegundo de 4 dígitos e a letraZcomo indicador UTC). Por exemplo: 20190627T1540500718Z.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
DateAndFormat
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
UnixTimeSecondsAndFormat
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Hour
Especifica a hora exibida. Insira um valor de 0 a 23.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Millisecond
Especifica os milissegundos na data. Insira um valor de 0 a 999.
Esse parâmetro foi introduzido no PowerShell 3.0.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Minute
Especifica o minuto exibido. Insira um valor de 0 a 59.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Month
Especifica o mês exibido. Insira um valor de 1 a 12.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Second
Especifica o segundo que é exibido. Insira um valor de 0 a 59.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-UFormat
Exibe a data e hora no formato Unix. O parâmetro UFormat gera um objeto string.
especificadores de UFormat são precedidos por um sinal de porcentagem (%), por exemplo, %m, %de %Y. A secção Notas contém uma tabela de especificadores válidos de UFormat.
Quando o parâmetro UFormat é usado, Get-Date obtém apenas as propriedades DateTime do objeto necessárias para exibir a data. Como resultado, algumas das propriedades e métodos de objetos DateTime podem não estar disponíveis.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
DateAndUFormat
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
UnixTimeSecondsAndUFormat
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-UnixTimeSeconds
Data e hora representadas em segundos desde 1 de janeiro de 1970, 0:00:00.
Esse parâmetro foi introduzido no PowerShell 7.1.
Propriedades dos parâmetros
| Tipo: | Int64 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | UnixTime |
Conjuntos de parâmetros
UnixTimeSecondsAndFormat
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
UnixTimeSecondsAndUFormat
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Year
Especifica o ano exibido. Insira um valor de 1 a 9999.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
DateTime
Você pode canalizar um objeto DateTime para este cmdlet.
Saídas
DateTime
Por padrão, esse cmdlet retorna um objeto DateTime.
Quando um objeto DateTime é enviado pelo pipeline para um cmdlet como Add-Content que espera a entrada de cadeia de caracteres, o PowerShell converte o objeto em um objeto String.
O ToString() converte um objeto DateTime em um String usando a configuração de cultura atual.
No entanto, a interpretação de expressão do PowerShell sempre usa a configuração de cultura invariante. Para ver como a cultura invariante é diferente, consulte Exemplo 11.
Para exibir as propriedades e os métodos de um objeto, envie o objeto pelo pipeline para Get-Member.
Por exemplo, Get-Date | Get-Member.
String
Quando você usa os parâmetros Format ou UFormat, esse cmdlet retorna objetos String.
Notas
Os formatos padrão para a saída de objetos DateTime são formatos de data longa e de tempo longo para a localidade selecionada no momento.
Os especificadores UFormat válidos são apresentados no quadro seguinte:
Importante
especificadores de UFormat são alterados ou adicionados em versões mais recentes do PowerShell. Por exemplo, %F foi adicionado no PowerShell 6.2, portanto, não está disponível no Windows PowerShell 5.1 ou anterior. Tenha isso em mente ao usar especificadores de UFormat em scripts projetados para serem executados em várias versões do PowerShell.
| Especificador de formato | Significado | Exemplo |
|---|---|---|
%A |
Dia da semana - nome completo | Monday |
%a |
Dia da semana - nome abreviado | Seg |
%B |
Nome do mês - completo | Janeiro |
%b |
Nome do mês - abreviado | Jan |
%C |
Séc. | 20 para 2019 |
%c |
Data e hora - abreviada | Qui jun 27 08:44:18 2019 |
%D |
Data no formato mm/dd/aa | 06/27/19 |
%d |
Dia do mês - 2 dígitos | 05 |
%e |
Dia do mês - precedido por um espaço, se apenas um dígito | <espaço>5 |
%F |
Data no formato AAAA-mm-dd, igual a %Y-%m-%d (o formato de data ISO 8601) | 2019-06-27 |
%G |
Ano da data da semana ISO (ano contendo quinta-feira da semana) | |
%g |
O mesmo que 'G' - 2 dígitos | |
%H |
Hora em formato de 24 horas | 17 |
%h |
O mesmo que 'b' | |
%I |
Hora em formato de 12 horas | 05 |
%j |
Dia do ano | 1-366 |
%k |
O mesmo que 'H' | |
%l |
O mesmo que 'I' (maiúsculas I) | 05 |
%M |
Minutos | 35 |
%m |
Número do mês | 06 |
%n |
caractere de nova linha | |
%p |
AM ou PM | |
%R |
Tempo em formato de 24 horas -no segundos | 17:45 |
%r |
Tempo em formato de 12 horas | 09:15:36 |
%S |
Segundos | 05 |
%s |
Segundos decorridos desde 1 de janeiro de 1970 00:00:00 (UTC) | 1150451174 |
%t |
Caractere de tabulação horizontal | |
%T |
Hora em formato de 24 horas | 17:45:52 |
%U |
O mesmo que 'W' | |
%u |
Dia numérico da semana (1-7) (alterado no PowerShell 7.2) | Segunda-feira = 1, Domingo = 7 |
%V |
Semana do ano | 01-53 |
%w |
Dia numérico da semana (0-6) | Domingo = 0, Sábado = 6 |
%W |
Semana do ano | 1-53 |
%X |
O mesmo que 'T' | |
%x |
Data em formato padrão para localidade | 27/06/19 para English-US |
%Y |
Ano em formato de 4 dígitos | 2019 |
%y |
Ano em formato de 2 dígitos | 19 |
%Z |
Deslocamento de fuso horário da Coordenada de Tempo Universal (UTC) | -07 |
Observação
O comportamento do -UFormat %s foi alterado para corrigir problemas com o comportamento no Windows PowerShell.
- O valor de retorno é baseado na hora UTC.
- O valor é um valor de número inteiro de segundos (sem parte fracionária).