Share via


Get-Date

Obtém a data e hora atuais.

Syntax

Get-Date
   [[-Date] <DateTime>]
   [-Year <Int32>]
   [-Month <Int32>]
   [-Day <Int32>]
   [-Hour <Int32>]
   [-Minute <Int32>]
   [-Second <Int32>]
   [-Millisecond <Int32>]
   [-DisplayHint <DisplayHintType>]
   [-Format <String>]
   [-AsUTC]
   [<CommonParameters>]
Get-Date
   [[-Date] <DateTime>]
   [-Year <Int32>]
   [-Month <Int32>]
   [-Day <Int32>]
   [-Hour <Int32>]
   [-Minute <Int32>]
   [-Second <Int32>]
   [-Millisecond <Int32>]
   [-DisplayHint <DisplayHintType>]
   -UFormat <String>
   [<CommonParameters>]
Get-Date
   -UnixTimeSeconds <Int64>
   [-Year <Int32>]
   [-Month <Int32>]
   [-Day <Int32>]
   [-Hour <Int32>]
   [-Minute <Int32>]
   [-Second <Int32>]
   [-Millisecond <Int32>]
   [-DisplayHint <DisplayHintType>]
   [-Format <String>]
   [-AsUTC]
   [<CommonParameters>]
Get-Date
   -UnixTimeSeconds <Int64>
   [-Year <Int32>]
   [-Month <Int32>]
   [-Day <Int32>]
   [-Hour <Int32>]
   [-Minute <Int32>]
   [-Second <Int32>]
   [-Millisecond <Int32>]
   [-DisplayHint <DisplayHintType>]
   -UFormat <String>
   [<CommonParameters>]

Description

O Get-Date cmdlet obtém um objeto DateTime que representa a data atual ou uma data especificada. Get-Date pode formatar a data e a 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 do computador para determinar como a saída é formatada. Para exibir as configurações do computador, use (Get-Culture).DateTimeFormat.

Exemplos

Exemplo 1: Obter a data e a hora atuais

Neste exemplo, Get-Date exibe a data e a hora atuais do sistema. A saída está nos formatos de data e hora longa.

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 de data ou hora. O parâmetro usa os argumentos Date, Time ou 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 no formato de 4 dígitos
HH:mm Tempo no 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 usados neste exemplo são definidos da seguinte maneira:

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 no formato de 4 dígitos
%R Tempo no 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 seção Observações .

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 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ês e Dia. O comando é encapsulado com parênteses para que o resultado seja avaliado pela propriedade DayofYear .

Exemplo 6: Verificar se uma data é ajustada para o horário de verão

Este exemplo usa um método booliano para verificar se uma data é ajustada pelo horário de verão.

$DST = Get-Date
$DST.IsDaylightSavingTime()

True

Uma variável armazena $DST o resultado de Get-Date. $DST usa o método IsDaylightSavingTime para testar se a data é 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 seção Anotações 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 $Time variável armazena a data e a hora atuais do sistema. $Time usa o método ToUniversalTime() para converter a hora com base no deslocamento UTC do computador.

Exemplo 8: Create um carimbo de data/hora

Neste exemplo, um especificador de formato cria um objeto String de carimbo de data/hora para um nome de diretório. O carimbo de data/hora inclui a data, a hora e o 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 $timestamp variável armazena os resultados de um Get-Date comando. Get-Date usa o parâmetro Format com o especificador de formato em minúsculas o para criar um objeto String de carimbo de data/hora. 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 períodos.

New-Item usa o parâmetro Path para especificar o local de um novo diretório. O caminho inclui a $timestamp variável como o nome do diretório. O parâmetro Type especifica que um diretório é criado.

Exemplo 9: Converter um carimbo de data/hora do Unix

Esse exemplo converte o horário do Unix (representado pelo número de segundos desde 1970-01-01 0:00:00) para 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. Para o exemplo, este computador é definido 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 na hora 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

Parâmetros

-AsUTC

Converte o valor de data para a hora equivalente em UTC.

Esse parâmetro foi introduzido no PowerShell 7.1.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Date

Especifica uma data e hora. O tempo é opcional e, se não for especificado, retornará 00:00:00.

Insira a data e a hora em um formato padrão para a localidade do sistema.

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

Type:DateTime
Aliases:LastWriteTime
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Day

Especifica o dia do mês que é exibido. Insira um valor de 1 a 31.

Se o valor especificado for maior 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 2 -Day 31 exibe 3 de março, não 31 de fevereiro.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayHint

Determina quais elementos de data e hora são exibidos.

Os valores aceitos são os seguintes:

  • Data: exibe apenas a data
  • Hora: exibe apenas a hora
  • DateTime: exibe a data e a hora
Type:DisplayHintType
Accepted values:Date, Time, DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Format

Exibe a data e hora no formato do Microsoft .NET Framework indicado pelo especificador de formato. O parâmetro Format gera um objeto String .

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 do objeto DateTime 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 amigável de arquivo ou caminho 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 amigável de arquivo ou caminho 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 letra Z como indicador UTC). Por exemplo: 20190627Z.

  • FileDateTime. Uma representação amigável de arquivo ou caminho da data e hora atuais no horário local, em formato de 24 horas. O formato é yyyyMMddTHHmmssffff (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, a letra T como 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 amigável de arquivo ou caminho da data e hora atuais em utc (tempo universal), no formato de 24 horas. O formato diferencia yyyyMMddTHHmmssffffZ maiúsculas de minúsculas, usando um ano de 4 dígitos, um mês de dois dígitos, um dia de 2 dígitos, a letra T como separador de tempo, uma hora de 2 dígitos, um minuto de 2 dígitos, um segundo de 2 dígitos, um milissegundo de 4 dígitos e a letra Z como o indicador UTC). Por exemplo: 20190627T1540500718Z.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Hour

Especifica a hora que é exibida. Insira um valor de 0 a 23.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Millisecond

Especifica os milissegundos na data. Insira um valor de 0 a 999.

Esse parâmetro foi introduzido no PowerShell 3.0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minute

Especifica o minuto que é exibido. Insira um valor de 0 a 59.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Month

Especifica o mês que é exibido. Insira um valor de 1 a 12.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Second

Especifica o segundo que é exibido. Insira um valor de 0 a 59.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UFormat

Exibe a data e hora no formato UNIX. O parâmetro UFormat gera um objeto de cadeia de caracteres.

Os especificadores UFormat são precedidos por um sinal de porcentagem (%), por exemplo, %m, %de %Y. A seção Anotações contém uma tabela de especificadores UFormat válidos.

Quando o parâmetro UFormat é usado, Get-Date obtém apenas as propriedades do objeto DateTime necessárias para exibir a data. Como resultado, algumas das propriedades e métodos de objetos DateTime podem não estar disponíveis.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Int64
Aliases:UnixTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Year

Especifica o ano que é exibido. Insira um valor de 1 a 9999.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Pipeline input

Get-Date aceita entrada de pipeline. Por exemplo, Get-ChildItem | Get-Date.

Saídas

System.DateTime or System.String

Get-Date retorna um objeto DateTime , exceto quando os parâmetros Format e UFormat são usados. Os parâmetros Format ou UFormat retornam objetos String .

Quando um objeto DateTime é enviado pelo pipeline para um cmdlet, como Add-Content o que espera entrada de cadeia de caracteres, o PowerShell converte o objeto em um objeto String .

O método (Get-Date).ToString() converte um objeto DateTime em um objeto String .

Para exibir as propriedades e métodos de um objeto, envie o objeto pelo pipeline para Get-Member. Por exemplo, Get-Date | Get-Member.

Observações

Os objetos DateTime estão em formatos de data e hora longa para a localidade do sistema.

Os especificadores UFormat válidos são exibidos na tabela a seguir:

Especificador de formato Significado Exemplo
%A Dia da semana - nome completo Monday
%a Dia da semana - nome abreviado Mon
%B Nome do mês – completo Janeiro
%b Nome do mês – abreviado Jan
%C Século 20 para 2019
%c Data e hora – abreviado Qui 27 jun 08:44:18 2019
%D Data no formato mm/dd/yy 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 único dígito <espaço>5
%F Data no formatoYYYY-mm-dd, igual a %Y-%m-%d (o formato de data ISO 8601) 2019-06-27
%G O mesmo que 'Y'
%g O mesmo que 'y'
%H Hora no formato 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 e minúsculas I) 05
%M minutos 35
%m Número do mês 06
%n caractere newline
%p AM ou PM
%R Tempo no formato de 24 horas -sem segundos 17:45
%r Tempo no formato de 12 horas 09:15:36
%S Segundos 05
%s Segundos decorridos desde 1º de janeiro de 1970 00:00:00 1150451174
%t Caractere de guia horizontal
%T Tempo no formato de 24 horas 17:45:52
%U O mesmo que 'W'
%u Dia da semana - número Domingo = 0
%V Semana do ano 01-53
%w O mesmo que 'u'
%W Semana do ano 00-52
%X O mesmo que 'T'
%x Data no formato padrão para localidade 27/06/19 para inglês-EUA
%Y Ano no formato de 4 dígitos 2019
%y Ano no formato de 2 dígitos 19
%Z Deslocamento de fuso horário da Coordenada de Tempo Universal (UTC) -07