Sdílet prostřednictvím


Get-Date

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

Syntaxe

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

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. Pomocí Get-Date můžete vygenerovat řetězec znaku data nebo času a pak ho odeslat do jiných rutin nebo programů.

Get-Date používá nastavení jazykové verze počítače k určení 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 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 pomocí Get-Date získat prvek data nebo času. Parametr používá argumenty Date, Timenebo 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 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

používá parametr formát 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 -no 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 -no 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, Montha Day. Příkaz je zabalen s závorky tak, aby výsledek byl vyhodnocen DayofYear vlastnost.

Příklad 6: Kontrola, 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á, $DST uloží výsledek Get-Date. $DST používá metodu IsDaylightSavingTime k otestování, 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 oddílu 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ří časové razítko String objekt 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 příkazu Get-Date. používá parametr formát formát se specifikátorem formátu malých k vytvoření časového razítka objektu String. 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í nového adresáře. Cesta obsahuje proměnnou $timestamp jako název adresáře. Parametr Type určuje, že se vytvoří adresář.

Parametry

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

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 2 -Day 31 zobrazí 3. března, nikoli 31. února.

Typ:Int
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: zobrazuje 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 výstupem objektu String.

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

Pokud se použije parametr Format, Get-Date získá pouze vlastnosti DateTime objektu potřebné k zobrazení data. V důsledku toho nemusí být některé vlastnosti a metody DateTime objekty 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 pomocí 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 pomocí čtyřmístného roku, 2místného měsíce, 2místného dne a písmena Z jako indikátor 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, 2místného dne, 2místného dne T 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, 2místného dne, 2místného dne, 2místného měsíce T, 2místného měsíce, 2místného dne a písmena Z 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:Int
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:Int
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:Int
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:Int
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:Int
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 výstupem řetězcového objektu.

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

Pokud se použije parametr UFormat, Get-Date získá pouze vlastnosti DateTime objektu potřebné k zobrazení data. V důsledku toho nemusí být některé vlastnosti a metody DateTime objekty 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

-Year

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

Typ:Int
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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

vrátí objekt DateTime s výjimkou případů, kdy se použijí parametry Format a UFormat. Parametry Format nebo UFormat vrací objekty String.

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

Metoda (Get-Date).ToString() převede objekt DateTime objekt String objektu.

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

Poznámky

objekty DateTime jsou pro systémové národní prostředí v dlouhém formátu data a dlouhého času.

Platné specifikátory UFormat jsou zobrazeny v následující tabulce:

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 Pondělí
%B Název měsíce – úplný Leden
%b Název měsíce – zkrácený Jan
%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 – číslice před mezerou <prostoru>5
%F Datum ve formátumm-dd RRRR, roven %Y-%m-%d (formát data ISO 8601) 2019-06-27
%G Stejné jako "Y"
%g Stejné jako "y"
%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 Minuty 35
%m Číslo měsíce 06
%n znak nového řádku
%p DOM nebo PM
%R Čas ve 24hodinovém formátu -no 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.95705
%t Vodorovný znak tabulátoru
%T Čas ve formátu 24 hodin 17:45:52
%U Stejné jako "W"
%u Den v týdnu – číslo Pondělí = 1
%V Týden v roce 01-53
%w Stejné jako "u"
%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 English-US
%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