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 literyZ
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, literyT
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, literyT
jako separatora czasu, 2-cyfrowej godziny, 2-cyfrowej minuty, 2-cyfrowej sekundy, 4-cyfrowego milisekundy i literyZ
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
, , %d
i %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 |