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 letraZ
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 letraT
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 letraT
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 letraZ
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
, %d
e %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 |