Udostępnij za pośrednictwem


Get-Date

Pobiera bieżącą datę i godzinę.

Składnia

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

Opis

Polecenie Get-Date cmdlet pobiera obiekt DateTime , który reprezentuje bieżącą datę lub datę, którą określisz. Get-Date może formatować datę i godzinę w kilku formatach .NET i UNIX. Możesz użyć Get-Date polecenia , aby wygenerować ciąg znaków daty lub godziny, a następnie wysłać ciąg do innych poleceń cmdlet lub programów.

Get-Date używa ustawień kultury komputera, aby określić sposób formatowania danych wyjściowych. Aby wyświetlić ustawienia komputera, użyj polecenia (Get-Culture).DateTimeFormat.

Przykłady

Przykład 1. Pobieranie bieżącej daty i godziny

W tym przykładzie Get-Date jest wyświetlana bieżąca data i godzina systemu. Dane wyjściowe są w formatach daty długiej i długiej.

Get-Date

Tuesday, June 25, 2019 14:53:32

Przykład 2. Pobieranie elementów bieżącej daty i godziny

W tym przykładzie pokazano, jak użyć Get-Date polecenia , aby pobrać element daty lub godziny. Parametr używa argumentów Date, Time lub DateTime.

Get-Date -DisplayHint Date

Tuesday, June 25, 2019

Get-Date używa parametru DisplayHint z argumentem Date , aby uzyskać tylko datę.

Przykład 3. Pobieranie daty i godziny za pomocą specyfikatora formatu platformy .NET

W tym przykładzie specyfikator formatu platformy .NET służy do dostosowywania formatu danych wyjściowych. Dane wyjściowe są obiektem String .

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

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

Get-Date używa parametru Format , aby określić kilka specyfikatorów formatu.

Specyfikatory formatu platformy .NET używane w tym przykładzie są definiowane w następujący sposób:

Specyfikator Definicja
dddd Dzień tygodnia — pełna nazwa
MM Numer miesiąca
dd Dzień miesiąca — 2 cyfry
yyyy Rok w formacie 4-cyfrowym
HH:mm Czas w formacie 24-godzinnym — bez sekund
K Przesunięcie strefy czasowej z współrzędnej uniwersalnej godziny (UTC)

Aby uzyskać więcej informacji na temat specyfikatorów formatu platformy .NET, zobacz Niestandardowe ciągi formatu daty i godziny.

Przykład 4. Pobieranie daty i godziny za pomocą specyfikatora UFormat

W tym przykładzie kilka specyfikatorów formatu UFormat służy do dostosowywania formatu danych wyjściowych. Dane wyjściowe są obiektem String .

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

Tuesday 06/25/2019 16:19 -07

Get-Date używa parametru UFormat , aby określić kilka specyfikatorów formatu.

Specyfikatory formatu UFormat używane w tym przykładzie są definiowane w następujący sposób:

Specyfikator Definicja
%A Dzień tygodnia — pełna nazwa
%m Numer miesiąca
%d Dzień miesiąca — 2 cyfry
%Y Rok w formacie 4-cyfrowym
%R Czas w formacie 24-godzinnym — bez sekund
%Z Przesunięcie strefy czasowej z współrzędnej uniwersalnej godziny (UTC)

Aby uzyskać listę prawidłowych specyfikatorów formatu UFormat , zobacz sekcję Uwagi .

Przykład 5. Pobieranie daty roku

W tym przykładzie właściwość służy do pobierania dnia liczbowego roku.

Kalendarz gregoriański ma 365 dni, z wyjątkiem lat przestępnych, które mają 366 dni. Na przykład 31 grudnia 2020 r. jest dniem 366.

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

366

Get-Date używa trzech parametrów, aby określić datę: Rok, Miesiąc i Dzień. Polecenie jest opakowane nawiasami, aby wynik został oceniony przez właściwość DayofYear .

Przykład 6. Sprawdzanie, czy data jest dostosowywana w przypadku czasu letniego

W tym przykładzie użyto metody logicznej, aby sprawdzić, czy data jest dostosowywana przez czas letni.

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

True

Zmienna $DST przechowuje wynik .Get-Date $DST używa metody IsDaylightSavingTime , aby sprawdzić, czy data jest dostosowana do czasu letniego.

Przykład 7. Konwertowanie bieżącej godziny na czas UTC

W tym przykładzie bieżąca godzina jest konwertowana na czas UTC. Przesunięcie czasu UTC dla ustawień regionalnych systemu jest używane do konwertowania czasu. Tabela w sekcji Uwagi zawiera listę prawidłowych specyfikatorów formatu 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 używa parametru UFormat ze specyfikatorami formatu, aby wyświetlić bieżącą datę i godzinę systemu. Specyfikator formatu %Z reprezentuje przesunięcie UTC -07.

Zmienna $Time przechowuje bieżącą datę i godzinę systemu. $Time używa metody ToUniversalTime(), aby przekonwertować czas na podstawie przesunięcia UTC komputera.

Przykład 8: Twórca znacznik czasu

W tym przykładzie specyfikator formatu tworzy obiekt string znacznika czasu dla nazwy katalogu. Sygnatura czasowa obejmuje przesunięcie daty, godziny i 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

Zmienna $timestamp przechowuje wyniki Get-Date polecenia. Get-Date używa parametru Format z specyfikatorem formatu małych liter o , aby utworzyć obiekt string znacznika czasu. Obiekt jest wysyłany w dół potoku do ForEach-Object. Element ScriptBlock zawiera zmienną reprezentującą $_ bieżący obiekt potoku. Ciąg znacznika czasu jest rozdzielany dwukropkami, które są zastępowane kropkami.

New-Item używa parametru Ścieżka , aby określić lokalizację nowego katalogu. Ścieżka zawiera zmienną $timestamp jako nazwę katalogu. Parametr Type określa, że jest tworzony katalog.

Przykład 9. Konwertowanie sygnatury czasowej systemu Unix

Ten przykład konwertuje czas systemu Unix (reprezentowany przez liczbę sekund od 1970-01-01 01 0:00:00) do daty/godziny.

Get-Date -UnixTimeSeconds 1577836800

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

Przykład 10: Zwracanie wartości daty interpretowanej jako UTC

W tym przykładzie pokazano, jak interpretować wartość daty jako odpowiednik UTC. Na przykład ta maszyna jest ustawiona na pacyficzny czas standardowy. Domyślnie Get-Date zwraca wartości dla tej strefy czasowej. Użyj parametru AsUTC , aby przekonwertować wartość na równoważny czas 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

Konwertuje wartość daty na równoważną godzinę w formacie UTC.

Ten parametr został wprowadzony w programie PowerShell 7.1.

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

-Date

Określa datę i godzinę. Czas jest opcjonalny i jeśli nie zostanie określony, zwraca wartość 00:00:00.

Wprowadź datę i godzinę w formacie standardowym dla ustawień regionalnych systemu.

Na przykład w języku angielskim USA:

Get-Date -Date "6/25/2019 12:30:22" zwraca wtorek, 25 czerwca 2019 12:30:22

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

-Day

Określa dzień wyświetlanego miesiąca. Wprowadź wartość z zakresu od 1 do 31.

Jeśli określona wartość jest większa niż liczba dni w miesiącu, program PowerShell dodaje liczbę dni do miesiąca. Na przykład Get-Date -Month 2 -Day 31 wyświetla 3 marca, a nie 31 lutego.

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

-DisplayHint

Określa, które elementy daty i godziny są wyświetlane.

Akceptowane wartości są następujące:

  • Data: wyświetla tylko datę
  • Godzina: wyświetla tylko czas
  • Data/godzina: wyświetla datę i godzinę
Type:DisplayHintType
Accepted values:Date, Time, DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Format

Wyświetla datę i godzinę w formacie microsoft .NET Framework wskazywany przez specyfikator formatu. Parametr Format zwraca obiekt String .

Aby uzyskać listę dostępnych specyfikatorów formatu .NET, zobacz Niestandardowe ciągi formatu daty i godziny.

Gdy parametr Format jest używany, Get-Date pobiera tylko właściwości obiektu DateTime niezbędne do wyświetlenia daty. W związku z tym niektóre właściwości i metody obiektów DateTime mogą nie być dostępne.

Począwszy od programu PowerShell 5.0, można użyć następujących dodatkowych formatów jako wartości parametru Format .

  • FileDate. Przyjazna dla pliku lub ścieżki reprezentacja bieżącej daty w czasie lokalnym. Format to yyyyMMdd (z uwzględnieniem wielkości liter przy użyciu 4-cyfrowego roku, 2-cyfrowego miesiąca i 2-cyfrowego dnia). Na przykład: 20190627.

  • FileDateUniversal. Przyjazna dla pliku lub ścieżki reprezentacja bieżącej daty w czasie uniwersalnym (UTC). Format to yyyyMMddZ (z uwzględnieniem wielkości liter przy użyciu 4-cyfrowego roku, 2-cyfrowego miesiąca, 2-cyfrowego dnia i litery Z jako wskaźnika UTC). Na przykład: 20190627Z.

  • FileDateTime. Przyjazna dla pliku lub ścieżki reprezentacja bieżącej daty i godziny w czasie lokalnym w formacie 24-godzinnym. Format to yyyyMMddTHHmmssffff (z uwzględnieniem wielkości liter, przy użyciu 4-cyfrowego roku, 2-cyfrowego miesiąca, 2-cyfrowego dnia, litery T jako separatora czasu, 2-cyfrowej godziny, 2-cyfrowej minuty, 2-cyfrowej sekundy i 4-cyfrowej milisekundy). Na przykład: 20190627T0840107271.

  • FileDateTimeUniversal. Przyjazna dla pliku lub ścieżki reprezentacja bieżącej daty i godziny w uniwersalnym czasie (UTC) w formacie 24-godzinnym. Format to yyyyMMddTHHmmssffffZ (z uwzględnieniem wielkości liter przy użyciu 4-cyfrowego roku, 2-cyfrowego miesiąca, 2-cyfrowego dnia, litery T jako separatora czasu, 2-cyfrowej godziny, 2-cyfrowej minuty, 2-cyfrowej sekundy, 4-cyfrowego milisekundy i litery Z jako wskaźnika UTC). Na przykład: 20190627T1540500718Z.

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

-Hour

Określa wyświetlaną godzinę. Wprowadź wartość z zakresu od 0 do 23.

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

-Millisecond

Określa milisekundy w dacie. Wprowadź wartość z zakresu od 0 do 999.

Ten parametr został wprowadzony w programie PowerShell 3.0.

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

-Minute

Określa minutę, która jest wyświetlana. Wprowadź wartość z zakresu od 0 do 59.

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

-Month

Określa wyświetlany miesiąc. Wprowadź wartość z zakresu od 1 do 12.

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

-Second

Określa sekundę, która jest wyświetlana. Wprowadź wartość z zakresu od 0 do 59.

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

-UFormat

Wyświetla datę i godzinę w formacie SYSTEMU UNIX. Parametr UFormat zwraca obiekt ciągu.

Specyfikatory UFormat są poprzedzone znakiem procentu (%), na przykład %m, , %di %Y. Sekcja Notatki zawiera tabelę prawidłowych specyfikatorów UFormat.

Gdy parametr UFormat jest używany, Get-Date pobiera tylko właściwości obiektu DateTime niezbędne do wyświetlenia daty. W związku z tym niektóre właściwości i metody obiektów DateTime mogą nie być dostępne.

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

-UnixTimeSeconds

Data i godzina reprezentowana w sekundach od 1 stycznia 1970 r., 0:00:00.

Ten parametr został wprowadzony w programie PowerShell 7.1.

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

-Year

Określa wyświetlany rok. Wprowadź wartość z zakresu od 1 do 9999.

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

Dane wejściowe

Pipeline input

Get-Date akceptuje dane wejściowe potoku. Na przykład Get-ChildItem | Get-Date.

Dane wyjściowe

System.DateTime or System.String

Get-Date Zwraca obiekt DateTime z wyjątkiem sytuacji, gdy są używane parametry Format i UFormat . Parametry Format lub UFormat zwracają obiekty String .

Gdy obiekt DateTime jest wysyłany w dół potoku do polecenia cmdlet, takiego jak Add-Content oczekiwano danych wejściowych ciągu, program PowerShell konwertuje obiekt na obiekt String .

Metoda (Get-Date).ToString() konwertuje obiekt DateTime na obiekt String .

Aby wyświetlić właściwości i metody obiektu, wyślij obiekt w dół potoku do .Get-Member Na przykład Get-Date | Get-Member.

Uwagi

Obiekty Typu data/godzina są w formatach daty długiej i długiej dla ustawień regionalnych systemu.

Prawidłowe specyfikatory UFormat są wyświetlane w poniższej tabeli:

Specyfikator formatu Znaczenie Przykład
%A Dzień tygodnia — pełna nazwa Monday
%a Dzień tygodnia — skrócona nazwa Pon
%B Nazwa miesiąca — pełna January (Styczeń)
%b Nazwa miesiąca — skrócona Sty
%C Wieku 20 dla 2019 r.
%c Data i godzina — skrócona Czw 27 czerwca 08:44:18 2019
%D Data w formacie mm/dd/yy 06/27/19
%d Dzień miesiąca — 2 cyfry 05
%e Dzień miesiąca — poprzedzony spacją, jeśli tylko jedna cyfra <spacja>5
%F Data w formacie RRRR-mm-dd, równa %Y-%m-%d (format daty ISO 8601) 2019-06-27
%G Tak samo jak "Y"
%g Tak samo jak "y"
%H Godzina w formacie 24-godzinnym 17
%h Tak samo jak "b"
%I Godzina w formacie 12-godzinnym 05
%j Dzień roku 1-366
%k Tak samo jak "H"
%l Tak samo jak "I" (wielkie litery I) 05
%M Minuty 35
%m Numer miesiąca 06
%n znak nowego wiersza
%p AM lub PM
%R Czas w formacie 24-godzinnym — bez sekund 17:45
%r Czas w formacie 12-godzinnym 09:15:36
%S Sekundy 05
%s Sekundy upłynęło od 1 stycznia 1970 r. 00:00:00 1150451174
%t Znak tabulatora poziomego
%T Czas w formacie 24-godzinnym 17:45:52
%U Tak samo jak "W"
%u Dzień tygodnia — liczba Niedziela = 0
%V Tydzień roku 01-53
%w Tak samo jak "u"
%W Tydzień roku 00-52
%X Tak samo jak "T"
%x Data w formacie standardowym dla ustawień regionalnych 06/27/19 dla języka angielskiego-USA
%Y Rok w formacie 4-cyfrowym 2019
%y Rok w formacie dwucyfrowym 19
%Z Przesunięcie strefy czasowej z uniwersalnej współrzędnej czasu (UTC) -07