Compartilhar via


Get-Date

Obtém a data e a hora atuais.

Sintaxe

Get-Date
   [[-Date] <datetime>]
   [-Year <int>]
   [-Month <int>]
   [-Day <int>]
   [-Hour <int>]
   [-Minute <int>]
   [-Second <int>]
   [-Millisecond <int>]
   [-DisplayHint <DisplayHintType>]
   [-Format <string>]
   [<CommonParameters>]
Get-Date
   [[-Date] <datetime>]
   [-Year <int>]
   [-Month <int>]
   [-Day <int>]
   [-Hour <int>]
   [-Minute <int>]
   [-Second <int>]
   [-Millisecond <int>]
   [-DisplayHint <DisplayHintType>]
   [-UFormat <string>]
   [<CommonParameters>]

Description

O cmdlet Get-Date 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 do sistema atuais. A saída está nos formatos long date e long-time.

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, Timeou DateTime.

Get-Date -DisplayHint Date

Tuesday, June 25, 2019

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 no formato de 24 horas -no 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 em formato de 4 dígitos
%R Tempo no formato de 24 horas -no segundos
%Z Deslocamento de fuso horário da Coordenada de Tempo Universal (UTC)

Para obter uma lista de especificadores de formato de UFormat válidos, consulte a seção anotações .

Exemplo 5: Obter um dia do ano

Neste exemplo, uma propriedade é usada para obter o dia numérico do ano.

O calendário gregoriano tem 365 dias, exceto pelos 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

usa três parâmetros para especificar a data: Ano,mês e Day. O comando é encapsulado com 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 booliano 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 é 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 Notes lista os especificadores de formato de 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 do sistema atual. O especificador de formato %Z representa o deslocamento UTC de -07.

A variável $Time armazena a data e a hora do sistema atual. 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 objeto String de carimbo de data/hora 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. usa o parâmetro Format com o especificador de formato de minúsculas para criar um objeto de cadeia de caracteres de 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 variável $timestamp como o nome do diretório. O parâmetro Type especifica que um diretório é criado.

Parâmetros

-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 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

Tipo:DateTime
Aliases:LastWriteTime
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Day

Especifica o dia do mês 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 de 3 de março, não de 31 de fevereiro.

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisplayHint

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

Os valores aceitos são os seguintes:

  • Date: exibe apenas a data
  • Time: exibe apenas a hora
  • DateTime: exibe a data e a hora
Tipo:DisplayHintType
Valores aceitos:Date, Time, DateTime
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Format

Exibe a data e a 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 DateTime objeto necessário 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 dois 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 UTC (tempo universal). O formato é yyyyMMddZ (diferencia 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 e a letra Z como o 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 dois 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 atual em UTC (tempo universal), em 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 letra T como 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 letra Z como o indicador UTC). Por exemplo: 20190627T1540500718Z.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Hour

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

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Millisecond

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

Esse parâmetro foi introduzido no PowerShell 3.0.

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Minute

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

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Month

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

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Second

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

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UFormat

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

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

Quando o parâmetro UFormat é usado, 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.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Year

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

Tipo:Int
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 de Formato ou UFormat retornam objetos String.

Quando um objeto DateTime é enviado pelo pipeline para um cmdlet, como Add-Content 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 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

objetos datetime estão em formatos de longa data e de longa data 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 Segunda-feira
%a Dia da semana - nome abreviado Seg
%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 - dígito precedido por um espaço <espaço>5
%F Data no formato YYYY-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 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 de minúsculas I) 05
%M Ata 35
%m Número do mês 06
%n caractere newline
%p AM ou PM
%R Tempo no formato de 24 horas -no segundos 17:45
%r Tempo no formato de 12 horas 09:15:36 AM
%S Segundos 05
%s Segundos decorridos desde 1º de janeiro de 1970 00:00:00 1150451174.95705
%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 Segunda-feira = 1
%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 English-US
%Y Ano em formato de 4 dígitos 2019
%y Ano em formato de dois dígitos 19
%Z Deslocamento de fuso horário da Coordenada de Tempo Universal (UTC) -07