Get-Date

Získá aktuální datum a čas.

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

Rutina Get-Date získá objekt DateTime , který představuje aktuální datum nebo zadané datum. Get-Date může formátovat datum a čas v několika formátech .NET a UNIX. Můžete použít Get-Date k vygenerování řetězce znaků data nebo času a následnému odeslání řetězce do jiných rutin nebo programů.

Get-Date používá nastavení jazykové verze počítače k určení způsobu formátování výstupu. Pokud chcete zobrazit nastavení počítače, použijte (Get-Culture).DateTimeFormat.

Příklady

Příklad 1: Získání aktuálního data a času

V tomto příkladu Get-Date se zobrazí aktuální systémové datum a čas. Výstup je ve formátech dlouhého data a dlouhého času.

Get-Date

Tuesday, June 25, 2019 14:53:32

Příklad 2: Získání prvků aktuálního data a času

V tomto příkladu se dozvíte, jak získat Get-Date prvek data nebo času. Parametr používá argumenty Date, Time nebo DateTime.

Get-Date -DisplayHint Date

Tuesday, June 25, 2019

Get-Date používá parametr DisplayHint s argumentem Date k získání pouze data.

Příklad 3: Získání data a času pomocí specifikátoru formátu .NET

V tomto příkladu se specifikátor formátu .NET používá k přizpůsobení formátu výstupu. Výstupem je objekt String .

Get-Date -Format "dddd MM/dd/yyyy HH:mm K"

Tuesday 06/25/2019 16:17 -07:00

Get-Date používá parametr Format k určení několika specifikátorů formátu.

Specifikátory formátu .NET použité v tomto příkladu jsou definovány takto:

Specifikátor Definice
dddd Den v týdnu – celé jméno
MM Číslo měsíce
dd Den v měsíci – 2 číslice
yyyy Rok ve formátu 4 číslic
HH:mm Čas ve formátu 24 hodin – bez sekund
K Posun časového pásma ze souřadnic univerzálního času (UTC)

Další informace o specifikátorech formátu .NET najdete v tématu Vlastní řetězce formátu data a času.

Příklad 4: Získání data a času specifikátorem UFormat

V tomto příkladu se k přizpůsobení formátu výstupu používá několik specifikátorů formátu UFormat . Výstupem je objekt String .

Get-Date -UFormat "%A %m/%d/%Y %R %Z"

Tuesday 06/25/2019 16:19 -07

Get-Date používá parametr UFormat k určení několika specifikátorů formátu.

Specifikátory formátu UFormat použité v tomto příkladu jsou definovány takto:

Specifikátor Definice
%A Den v týdnu – celé jméno
%m Číslo měsíce
%d Den v měsíci – 2 číslice
%Y Rok ve formátu 4 číslic
%R Čas ve formátu 24 hodin – bez sekund
%Z Posun časového pásma ze souřadnic univerzálního času (UTC)

Seznam platných specifikátorů formátu UFormat najdete v části Poznámky .

Příklad 5: Získání data v roce

V tomto příkladu se vlastnost používá k získání číselného dne v roce.

Gregoriánský kalendář má 365 dní, s výjimkou přestupné roky, které mají 366 dnů. Například 31. prosince 2020 je den 366.

(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear

366

Get-Date používá tři parametry k určení data: Rok, Měsíc a Den. Příkaz je zabalen s závorky tak, aby výsledek byl vyhodnocen vlastností DayofYear .

Příklad 6: Zkontrolujte, jestli je datum upraveno pro letní čas

Tento příklad používá logickou metodu k ověření, jestli je datum upraveno letním časem.

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

True

Proměnná ukládá $DST výsledek .Get-Date $DST pomocí metody IsDaylightSavingTime otestuje, jestli je datum upraveno pro letní čas.

Příklad 7: Převod aktuálního času na čas UTC

V tomto příkladu se aktuální čas převede na čas UTC. Posun UTC pro národní prostředí systému se používá k převodu času. Tabulka v části Poznámky obsahuje platné specifikátory formátu UFormat .

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 používá parametr UFormat se specifikátory formátu k zobrazení aktuálního systémového data a času. Specifikátor formátu %Z představuje posun UTC -07.

Proměnná $Time ukládá aktuální systémové datum a čas. $Time používá metodu ToUniversalTime() k převodu času na základě posunu UTC počítače.

Příklad 8: Vytvoření časového razítka

V tomto příkladu specifikátor formátu vytvoří objekt String časového razítka pro název adresáře. Časové razítko zahrnuje posun data, času a 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

Proměnná $timestamp ukládá výsledky Get-Date příkazu. Get-Date používá parametr Format se specifikátorem formátu malého písmena o k vytvoření objektu String časového razítka. Objekt se odešle dolů do kanálu ForEach-Object. ScriptBlock obsahuje proměnnou$_, která představuje aktuální objekt kanálu. Řetězec časového razítka je oddělený dvojtečky, které jsou nahrazeny tečkami.

New-Item pomocí parametru Path určí umístění nového adresáře. Cesta obsahuje proměnnou $timestamp jako název adresáře. Parametr Type určuje, že se vytvoří adresář.

Příklad 9: Převod časového razítka systému Unix

Tento příklad převede čas unixu (reprezentovaný počtem sekund od roku 1970-01-01 01 00:00:00) na DateTime.

Get-Date -UnixTimeSeconds 1577836800

Wednesday, January 01, 2020 12:00:00 AM

Příklad 10: Vrácení hodnoty data interpretovaného jako UTC

Tento příklad ukazuje, jak interpretovat hodnotu data jako ekvivalent UTC. Například tento počítač je nastavený na Tichomoří standardní čas. Ve výchozím nastavení Get-Date vrátí hodnoty pro dané časové pásmo. Pomocí parametru AsUTC převeďte hodnotu na ekvivalentní čas 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

Parametry

-AsUTC

Převede hodnotu data na ekvivalentní čas v UTC.

Tento parametr byl zaveden v PowerShellu 7.1.

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

-Date

Určuje datum a čas. Čas je volitelný a pokud není zadaný, vrátí hodnotu 00:00:00.

Zadejte datum a čas ve formátu, který je standardní pro národní prostředí systému.

Například v angličtině v USA:

Get-Date -Date "6/25/2019 12:30:22" vrátí úterý, 25. června 2019 12:30:22

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

-Day

Určuje den v měsíci, který se zobrazí. Zadejte hodnotu od 1 do 31.

Pokud je zadaná hodnota větší než počet dnů v měsíci, PowerShell přidá počet dnů do měsíce. Zobrazí se například Get-Date -Month 2 -Day 313. března, nikoli 31. února.

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

-DisplayHint

Určuje, které prvky data a času se zobrazí.

Přijaté hodnoty jsou následující:

  • Datum: zobrazí pouze datum.
  • Čas: zobrazuje jenom čas.
  • DateTime: zobrazuje datum a čas.
Type:DisplayHintType
Accepted values:Date, Time, DateTime
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Format

Zobrazí datum a čas ve formátu rozhraní Microsoft .NET Framework označený specifikátorem formátu. Parametr Format vypíše objekt String .

Seznam dostupných specifikátorů formátu .NET najdete v tématu Vlastní řetězce formátu data a času.

Při použití Get-Dateparametru Format získá pouze vlastnosti objektu DateTime potřebné k zobrazení data. V důsledku toho nemusí být některé vlastnosti a metody objektů DateTime k dispozici.

Počínaje PowerShellem 5.0 můžete jako hodnoty parametru Format použít následující další formáty.

  • FileDate. Soubor nebo popisná cesta k aktuálnímu datu v místním čase. Formát je yyyyMMdd (rozlišují se malá a velká písmena, s použitím 4místného roku, 2místného měsíce a 2místného dne). Například: 20190627.

  • FileDateUniversal. Soubor nebo popisná cesta k aktuálnímu datu v univerzálním čase (UTC). Formát je yyyyMMddZ (rozlišují se malá a velká písmena, s použitím 4místného roku, 2místného měsíce, 2místného dne a písmena Z jako indikátoru UTC). Příklad: 20190627Z.

  • FileDateTime. Soubor nebo popisná cesta k aktuálnímu datu a času v místním čase ve formátu 24 hodin. Formát je yyyyMMddTHHmmssffff (rozlišují se malá a velká písmena s použitím dvoumístného roku, 2místného měsíce, 2místného dne, T oddělovače času, 2místné minuty, 2místné sekundy a 4místných milisekund). Příklad: 20190627T0840107271.

  • FileDateTimeUniversal. Soubor nebo popisná cesta k aktuálnímu datu a času v univerzálním čase (UTC) ve formátu 24 hodin. Formát je yyyyMMddTHHmmssffffZ (rozlišují se malá a velká písmena, s použitím 4místného roku, 2místného měsíce, 2místného dne, T oddělovače času, 2místné minuty, 2místné sekundy, 4místné milisekundy a písmena Z jako indikátor UTC). Příklad: 20190627T1540500718Z.

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

-Hour

Určuje hodinu, která se zobrazí. Zadejte hodnotu od 0 do 23.

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

-Millisecond

Určuje milisekundy v datu. Zadejte hodnotu od 0 do 999.

Tento parametr byl zaveden v PowerShellu 3.0.

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

-Minute

Určuje minutu, která se zobrazí. Zadejte hodnotu od 0 do 59.

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

-Month

Určuje měsíc, který se zobrazí. Zadejte hodnotu od 1 do 12.

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

-Second

Určuje sekundu, která se zobrazí. Zadejte hodnotu od 0 do 59.

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

-UFormat

Zobrazí datum a čas ve formátu UNIX. Parametr UFormat vypíše řetězcový objekt.

Specifikátory UFormat jsou před znakem procenta (%například %m, , %da %Y). Oddíl Poznámky obsahuje tabulku platných specifikátorů UFormat.

Při použití Get-Date parametru UFormat získá pouze vlastnosti objektu DateTime potřebné k zobrazení data. V důsledku toho nemusí být některé vlastnosti a metody objektů DateTime k dispozici.

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

-UnixTimeSeconds

Datum a čas reprezentované v sekundách od 1. ledna 1970, 0:00:00.

Tento parametr byl zaveden v PowerShellu 7.1.

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

-Year

Určuje rok, který se zobrazí. Zadejte hodnotu od 1 do 9999.

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

Vstupy

Pipeline input

Get-Date přijímá vstup kanálu. Například, Get-ChildItem | Get-Date.

Výstupy

System.DateTime or System.String

Get-Date vrátí objekt DateTime s výjimkou použití parametrů Format a UFormat . Parametry Format nebo UFormat vracejí objekty String .

Když se objekt DateTime odešle do rutiny, jako Add-Content je například očekávaný vstup řetězce, PowerShell převede objekt na objekt String .

Metoda (Get-Date).ToString() převede objekt DateTimena string objekt.

Chcete-li zobrazit vlastnosti a metody objektu, odešlete objekt dolů do kanálu Get-Member. Například, Get-Date | Get-Member.

Poznámky

Objekty DateTime jsou v dlouhých a dlouhých formátech národního prostředí systému.

Platné specifikátory UFormat se zobrazují v následující tabulce:

Specifikátor formátu Význam Příklad
%A Den v týdnu – celé jméno Monday
%a Den v týdnu – zkrácený název Po
%B Název měsíce – úplný January (Leden)
%b Název měsíce – zkrácený Jan
%C Století 20 pro 2019
%c Datum a čas – zkrácené Čt června 27 08:44:18 2019
%D Datum ve formátu mm/dd/yy 06/27/19
%d Den v měsíci – 2 číslice 05
%e Den v měsíci – před mezerou, pokud pouze jedna číslice <mezera>5
%F Datum ve formátu RRRR-mm-dd se rovná %Y-%m-%d (formát data ISO 8601) 2019-06-27
%G Rok data týdne ISO (rok obsahující čtvrtek týdne)
%g Stejné jako "G" – 2 číslice
%H Hodina ve formátu 24 hodin 17
%h Stejné jako "b"
%I Hodina ve formátu 12 hodin 05
%j Den v roce 1-366
%k Stejné jako "H"
%l Stejné jako "I" (velká písmena I) 05
%M V řádu minut 35
%m Číslo měsíce 06
%n znak newline
%p AM nebo PM
%R Čas ve formátu 24 hodin –bez sekund 17:45
%r Čas ve formátu 12 hodin 09:15:36
%S Sekundy 05
%s Sekundy uplynuly od 1. ledna 1970 00:00:00 1150451174
%t Vodorovný znak tabulátoru
%T Čas ve formátu 24 hodin 17:45:52
%U Stejné jako "W"
%u Číselný den v týdnu (1–7) Pondělí = 1, neděle = 7
%V Týden v roce 01-53
%w Číselný den v týdnu (0–6) Neděle = 0, sobota = 6
%W Týden v roce 00-52
%X Stejné jako "T"
%x Datum ve standardním formátu národního prostředí 06/27/19 pro angličtinu-USA
%Y Rok ve formátu 4 číslic 2019
%y Rok ve dvouciferném formátu 19
%Z Posun časového pásma ze souřadnic univerzálního času (UTC) -07