Get-Date
Získá aktuální datum a čas.
Syntaxe
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á aktuální nastavení jazykové verze operačního systému k určení způsobu formátování výstupu. Chcete-li 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
zobrazí aktuální systémové datum a čas. Výstup je ve formátech s dlouhým datem a dlouhým časem.
Get-Date
Tuesday, June 25, 2019 14:53:32
Příklad 2: Získání prvků aktuálního data a času
Tento příklad ukazuje, 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
pomocí parametru DisplayHint s argumentem Date získá pouze datum.
Příklad 3: Získání data a času pomocí specifikátoru formátu .NET
V tomto příkladu se k přizpůsobení formátu výstupu používá specifikátor formátu .NET. 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 4ciferném formátu |
HH:mm |
Čas ve 24hodinovém formátu – bez sekund |
K |
Posun časového pásma od souřadnic univerzálního času (UTC) |
Další informace o specifikátorech formátu .NET naleznete v tématu Vlastní řetězce formátu data a času.
Příklad 4: Získání data a času pomocí specifikátoru 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 4ciferném formátu |
%R |
Čas ve 24hodinovém formátu – bez sekund |
%Z |
Posun časového pásma od 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: Year, Month a Day. Příkaz je zabalen s závorky tak, aby výsledek byl vyhodnocen vlastností DayofYear .
Příklad 6: Kontrola, jestli je datum upravené 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
používá metodu IsDaylightSavingTime k otestování, zda 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 datum, čas a posun 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á format parametr se specifikátorem formátu malými písmeny o
k vytvoření objektu String časového razítka. Objekt se odešle do kanálu do ForEach-Object
. ScriptBlock obsahuje proměnnou$_
, která představuje aktuální objekt kanálu. Řetězec časového razítka je oddělený dvojtečkami, které jsou nahrazeny tečkami.
New-Item
používá parametr Path k určení umístění pro nový adresář. 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 unixu
Tento příklad převede unixový čas (reprezentovaný počtem sekund od 1970-01-01 01 0: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. Tento počítač je například nastavený na Tichomoří (Běžný č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
Příklad 11: Zobrazení invariantní jazykové verze
Převede ToString()
objekt DateTime řetězec pomocí aktuální jazykové verze nastavení.
Interpretace výrazů PowerShellu ale vždy používá invariantní jazykové nastavení.
Například v systému s jazykovou en-US
verzí ToString()
metoda formátuje datum pomocí en-US
nastavení jazykové verze.
# 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
Parametry
-AsUTC
Převede hodnotu data na ekvivalentní čas v UTC.
Tento parametr byl představen v PowerShellu 7.1.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Date
Určuje datum a čas. Čas je nepovinný a pokud není zadaný, vrátí hodnotu 00:00:00. Zadejte datum a čas ve formátu, který je standardní pro aktuálně vybrané národní prostředí. Aktuální národní prostředí můžete změnit pomocí rutiny Set-Culture
.
Například v angličtině v USA:
Get-Date -Date "6/25/2019 12:30:22"
vrátí úterý, červen 25, 2019 12:30:22
Typ: | DateTime |
Aliasy: | LastWriteTime |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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 sčítá počet dní v měsíci. Například Get-Date -Month 4 -Day 31
zobrazí 1. května, nikoli 31. dubna.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-DisplayHint
Určuje, které prvky data a času jsou zobrazeny.
Přijaté hodnoty jsou následující:
- Datum: zobrazí pouze datum.
- Čas: zobrazí pouze čas.
- DateTime: zobrazí datum a čas.
Typ: | DisplayHintType |
Přípustné hodnoty: | Date, Time, DateTime |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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 naleznete v tématu Vlastní řetězce formátu data a času.
Při použití Get-Date
parametru 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). Pří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 čtyřmístného roku, 2místného měsíce, 2místného dne a písmenaZ
jako indikátoru UTC). Příklad: 20190627Z.FileDateTime. Soubor nebo reprezentace aktuálního data 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 čtyřmístného roku, 2místného měsíce, 2místného dne, 2místného dne,T
oddělovače času, 2místné minuty, dvoumístné sekundy a 4místného milisekundy). Příklad: 20190627T0840107271.FileDateTimeUniversal. Soubor nebo reprezentace aktuálního data 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 čtyřmístného roku, 2místného měsíce, 2místného dne, oddělovače času,T
2místné minuty, 2místné minuty, 4místné milisekundy a písmenaZ
jako indikátor UTC). Například: 20190627T1540500718Z.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Hour
Určuje hodinu, která se zobrazí. Zadejte hodnotu od 0 do 23.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Millisecond
Určuje milisekundy v datu. Zadejte hodnotu od 0 do 999.
Tento parametr byl představen v PowerShellu 3.0.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Minute
Určuje minutu, která se zobrazí. Zadejte hodnotu od 0 do 59.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Month
Určuje měsíc, který se zobrazí. Zadejte hodnotu od 1 do 12.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Second
Určuje sekundu, která se zobrazí. Zadejte hodnotu od 0 do 59.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UFormat
Zobrazí datum a čas ve formátu UNIX. Parametr UFormat vypíše objekt string.
Specifikátory UFormat jsou předcházet znakem procenta (%
), %m
například , , %d
a %Y
. Oddíl Poznámky obsahuje tabulku platných specifikátorů UFormat.
Při použití parametru UFormat získá pouze vlastnosti objektu DateTime potřebné k zobrazení Get-Date
data. V důsledku toho nemusí být některé vlastnosti a metody objektů DateTime k dispozici.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UnixTimeSeconds
Datum a čas reprezentované v sekundách od 1. ledna 1970, 0:00:00.
Tento parametr byl představen v PowerShellu 7.1.
Typ: | Int64 |
Aliasy: | UnixTime |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Year
Určuje rok, který se zobrazí. Zadejte hodnotu od 1 do 9999.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Do této rutiny můžete přeskakovat objekt DateTime .
Výstupy
Ve výchozím nastavení vrátí tato rutina objekt DateTime .
Když je objekt DateTime odeslán kanál do rutiny, jako Add-Content
je například očekávaný řetězcový vstup, PowerShell převede objekt na objekt String.
Převede ToString()
objekt DateTime na řetězec pomocí aktuální jazykové verze nastavení.
Interpretace výrazů PowerShellu ale vždy používá invariantní jazykové nastavení. Pokud chcete zjistit, jak se invariantní jazyková verze liší, podívejte se na příklad 11.
Chcete-li zobrazit vlastnosti a metody objektu, odešlete objekt dolů kanálu do Get-Member
.
Například Get-Date | Get-Member
.
Pokud použijete parametry Format nebo UFormat , vrátí tato rutina objekty String .
Poznámky
Výchozí formáty pro výstup objektů DateTime jsou dlouhé a dlouhé formáty pro aktuálně vybrané národní prostředí.
Platné specifikátory UFormat se zobrazují v následující tabulce:
Důležité
Specifikátory UFormat se mění nebo přidávají v novějších verzích PowerShellu. Například %F
byl přidán v PowerShellu 6.2, takže není k dispozici ve Windows PowerShellu 5.1 nebo starším. Při použití specifikátorů UFormat ve skriptech navržených ke spuštění ve více verzích PowerShellu mějte na paměti.
Specifikátor formátu | Význam | Příklad |
---|---|---|
%A |
Den v týdnu – celé jméno | Pondělí |
%a |
Den v týdnu – zkrácený název | Pon |
%B |
Název měsíce – úplný | Leden |
%b |
Název měsíce – zkrácený | led |
%C |
Století | 20 pro 2019 |
%c |
Datum a čas – zkrácené | Čt 27. června 08:44:18 2019 |
%D |
Datum ve formátu mm/dd/rr | 06/27/19 |
%d |
Den v měsíci – 2 číslice | 05 |
%e |
Den v měsíci – před mezerou, pokud je pouze jedna číslice | <mezera>5 |
%F |
Datum ve formátu RRRR-mm-dd, které se rovná %Y-%m-%d (formát data ISO 8601) | 2019-06-27 |
%G |
Rok data týdne ISO (rok obsahující čtvrtek v týdnu) | |
%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 nového řádku | |
%p |
DOM nebo PM | |
%R |
Čas ve 24hodinovém formátu –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 (UTC) | 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) (změněný v PowerShellu 7.2) | 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 4ciferném formátu | 2019 |
%y |
Rok ve dvouciferném formátu | 19 |
%Z |
Posun časového pásma od souřadnic univerzálního času (UTC) | -07 |
Poznámka:
Chování -UFormat %s
bylo změněno, aby se vyřešilo problémy s chováním v prostředí Windows PowerShell.
- Vrácená hodnota je založená na čase UTC.
- Hodnota je celý počet sekund (bez zlomkové části).