Get-Date
Ruft das aktuelle Datum und die aktuelle Uhrzeit ab.
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>]
Beschreibung
Das cmdlet Get-Date
ruft ein DateTime-Objekt ab, das das aktuelle Datum oder ein von Ihnen angegebenes Datum darstellt.
Get-Date
können Datum und Uhrzeit in verschiedenen .NET- und UNIX-Formaten formatieren. Sie können Get-Date
verwenden, um eine Datums- oder Uhrzeitzeichenfolge zu generieren und dann die Zeichenfolge an andere Cmdlets oder Programme zu senden.
Get-Date
verwendet die aktuellen Kultureinstellungen des Betriebssystems, um zu bestimmen, wie die Ausgabe formatiert ist. Verwenden Sie (Get-Culture).DateTimeFormat
, um die Einstellungen Ihres Computers anzuzeigen.
Beispiele
Beispiel 1: Abrufen des aktuellen Datums und der aktuellen Uhrzeit
In diesem Beispiel zeigt Get-Date
das aktuelle Systemdatum und die aktuelle Systemzeit an. Die Ausgabe befindet sich in den Formaten "long-date" und "long-time".
Get-Date
Tuesday, June 25, 2019 14:53:32
Beispiel 2: Abrufen von Elementen des aktuellen Datums und der aktuellen Uhrzeit
In diesem Beispiel wird gezeigt, wie sie Get-Date
zum Abrufen des Datums- oder Uhrzeitelements verwenden. Der Parameter verwendet die Argumente Date, Timeoder DateTime.
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date
verwendet den parameter DisplayHint mit dem Argument Date, um nur das Datum abzurufen.
Beispiel 3: Abrufen des Datums und der Uhrzeit mit einem .NET-Formatbezeichner
In diesem Beispiel wird ein .NET-Formatbezeichner verwendet, um das Format der Ausgabe anzupassen. Die Ausgabe ist ein String-Objekt.
Get-Date -Format "dddd MM/dd/yyyy HH:mm K"
Tuesday 06/25/2019 16:17 -07:00
Get-Date
verwendet den Parameter Format, um mehrere Formatbezeichner anzugeben.
Die in diesem Beispiel verwendeten .NET-Formatbezeichner sind wie folgt definiert:
Spezifikationssymbol | Definition |
---|---|
dddd |
Wochentag - vollständiger Name |
MM |
Monatsnummer |
dd |
Tag des Monats - 2 Ziffern |
yyyy |
Jahr im 4-stelligen Format |
HH:mm |
Zeit im 24-Stunden-Format - keine Sekunden |
K |
Zeitzonenoffset von Universal Time Coordinate (UTC) |
Weitere Informationen zu .NET-Formatbezeichnern finden Sie unter Benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen.
Beispiel 4: Abrufen des Datums und der Uhrzeit mit einem UFormat-Bezeichner
In diesem Beispiel werden mehrere UFormat- Formatbezeichner verwendet, um das Format der Ausgabe anzupassen. Die Ausgabe ist ein String-Objekt.
Get-Date -UFormat "%A %m/%d/%Y %R %Z"
Tuesday 06/25/2019 16:19 -07
Get-Date
verwendet den parameter UFormat, um mehrere Formatbezeichner anzugeben.
Die in diesem Beispiel verwendeten UFormat- Formatbezeichner sind wie folgt definiert:
Spezifikationssymbol | Definition |
---|---|
%A |
Wochentag - vollständiger Name |
%m |
Monatsnummer |
%d |
Tag des Monats - 2 Ziffern |
%Y |
Jahr im 4-stelligen Format |
%R |
Zeit im 24-Stunden-Format - keine Sekunden |
%Z |
Zeitzonenoffset von Universal Time Coordinate (UTC) |
Eine Liste gültiger UFormat- Formatbezeichner finden Sie im Abschnitt Notizen.
Beispiel 5: Abrufen eines Datumstags des Jahres
In diesem Beispiel wird eine Eigenschaft verwendet, um den numerischen Tag des Jahres abzurufen.
Der gregorianische Kalender hat 365 Tage, mit Ausnahme von Schaltjahren, die 366 Tage haben. Beispielsweise ist der 31. Dezember 2020 Tag 366.
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date
verwendet drei Parameter, um das Datum anzugeben: Jahr, Monatund Tag. Der Befehl wird mit Klammern umbrochen, sodass das Ergebnis von der DayofYear-Eigenschaft ausgewertet wird.
Beispiel 6: Überprüfen, ob ein Datum für Sommerzeit angepasst ist
In diesem Beispiel wird eine boolesche Methode verwendet, um zu überprüfen, ob ein Datum durch Sommerzeit angepasst wird.
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
Eine Variable, $DST
speichert das Ergebnis von Get-Date
.
$DST
verwendet die IsDaylightSavingTime Methode, um zu testen, ob das Datum für sommersparende Zeit angepasst wird.
Beispiel 7: Konvertieren der aktuellen Zeit in UTC-Zeit
In diesem Beispiel wird die aktuelle Uhrzeit in UTC-Zeit konvertiert. Der UTC-Offset für das Gebietsschema des Systems wird verwendet, um die Zeit zu konvertieren. Eine Tabelle im Abschnitt Notes listet die gültigen UFormat- Formatbezeichner auf.
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
verwendet den parameter UFormat mit Formatbezeichnern, um das aktuelle Systemdatum und die aktuelle Systemzeit anzuzeigen. Der Formatbezeichner %Z stellt den UTC-Offset von -07dar.
Die variable $Time
speichert das aktuelle Systemdatum und die aktuelle Uhrzeit.
$Time
verwendet die ToUniversalTime()
-Methode, um die Zeit basierend auf dem UTC-Offset des Computers zu konvertieren.
Beispiel 8: Erstellen eines Zeitstempels
In diesem Beispiel erstellt ein Formatbezeichner einen Zeitstempel String-Objekt für einen Verzeichnisnamen. Der Zeitstempel enthält den Datums-, Uhrzeit- und UTC-Offset.
$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
Die $timestamp
Variable speichert die Ergebnisse eines Get-Date
Befehls.
Get-Date
verwendet den Parameter Format mit dem Formatbezeichner für Kleinbuchstaben o
, um einen Zeitstempel String--Objekt zu erstellen. Das Objekt wird an die Pipeline an ForEach-Object
gesendet. Ein ScriptBlock- enthält die $_
Variable, die das aktuelle Pipelineobjekt darstellt. Die Zeitstempelzeichenfolge wird durch Doppelpunkte getrennt, die durch Punkte ersetzt werden.
New-Item
verwendet den Parameter Path, um den Speicherort für ein neues Verzeichnis anzugeben. Der Pfad enthält die $timestamp
Variable als Verzeichnisnamen. Der parameter Type gibt an, dass ein Verzeichnis erstellt wird.
Beispiel 9: Konvertieren eines Unix-Zeitstempels
In diesem Beispiel wird eine Unix-Zeit (dargestellt durch die Anzahl der Sekunden seit 1970-01-01 01 0:00:00) in DateTime konvertiert.
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
Beispiel 10: Zurückgeben eines Datumswerts, der als UTC interpretiert wird
In diesem Beispiel wird gezeigt, wie ein Datumswert als UTC-Entsprechung interpretiert wird. Für dieses Beispiel ist dieser Computer auf Pacific Standard Timefestgelegt. Standardmäßig gibt Get-Date
Werte für diese Zeitzone zurück. Verwenden Sie den AsUTC--Parameter, um den Wert in die UTC-Entsprechungszeit zu konvertieren.
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
Beispiel 11: Invariante Kultur anzeigen
Die ToString()
konvertiert ein DateTime- -Objekt mithilfe der aktuellen Kultureinstellung in ein String-.
Die PowerShell-Ausdrucksinterpretation verwendet jedoch immer die invariante Kultureinstellung.
Beispielsweise formatiert die ToString()
Methode auf einem System mit der en-US
Kultur das Datum mithilfe der en-US
Kultureinstellungen.
# 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
Parameter
-AsUTC
Wandelt den Datumswert in die entsprechende Uhrzeit in UTC um.
Dieser Parameter wurde in PowerShell 7.1 eingeführt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Date
Gibt ein Datum und eine Uhrzeit an. Die Uhrzeit ist optional und wenn nicht angegeben, wird 00:00:00 zurückgegeben. Geben Sie das Datum und die Uhrzeit in ein Format ein, das für das aktuell ausgewählte Gebietsschema standard ist. Sie können das aktuelle Gebietsschema mithilfe des Cmdlets Set-Culture
ändern.
Beispiel: in US-Englisch:
Get-Date -Date "6/25/2019 12:30:22"
gibt Dienstag, 25. Juni 2019, 12:30:22
Typ: | DateTime |
Aliase: | LastWriteTime |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Day
Gibt den Tag des Monats an, der angezeigt wird. Geben Sie einen Wert von 1 bis 31 ein.
Wenn der angegebene Wert größer als die Anzahl von Tagen in einem Monat ist, addiert PowerShell die Anzahl der Tage zum Monat. Beispielsweise wird Get-Date -Month 4 -Day 31
1. Maiangezeigt, nicht 31. April.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DisplayHint
Bestimmt, welche Elemente des Datums und der Uhrzeit angezeigt werden.
Die akzeptierten Werte sind wie folgt:
- Datums-: Zeigt nur das Datum an.
- Uhrzeit-: zeigt nur die Uhrzeit an.
- DateTime-: Zeigt das Datum und die Uhrzeit an.
Typ: | DisplayHintType |
Zulässige Werte: | Date, Time, DateTime |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Format
Zeigt das Datum und die Uhrzeit im Microsoft .NET Framework-Format an, das durch den Formatbezeichner angegeben ist. Der Format Parameter gibt ein String-Objekt aus.
Eine Liste der verfügbaren .NET-Formatbezeichner finden Sie unter Benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen.
Wenn der parameter Format verwendet wird, ruft Get-Date
nur die Eigenschaften des DateTime Objekts ab, die zum Anzeigen des Datums erforderlich sind. Daher sind einige der Eigenschaften und Methoden DateTime- Objekte möglicherweise nicht verfügbar.
Ab PowerShell 5.0 können Sie die folgenden zusätzlichen Formate als Werte für den Parameter Format verwenden.
FileDate. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums in der Ortszeit. Das Format ist
yyyyMMdd
(Groß-/Kleinschreibung wird berücksichtigt, wobei ein 4-stelliger Jahr, 2-stelliger Monat und 2-stelliger Tag verwendet wird). Beispiel: 20190627.FileDateUniversal. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums in universaler Zeit (UTC). Das Format ist
yyyyMMddZ
(Groß-/Kleinschreibung wird bei Verwendung eines 4-stelligen Jahres, eines 2-stelligen Monats, eines 2-stelligen Tages und des Buchstabens als UTC-IndikatorZ
). Beispiel: 20190627Z.FileDateTime. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums und der aktuellen Uhrzeit in der Ortszeit im 24-Stunden-Format. Das Format ist
yyyyMMddTHHmmssffff
(Groß-/Kleinschreibung wird berücksichtigt, wobei ein 4-stelliger Jahr, 2-stelliger Monat, 2-stelliger Tag, derT
Buchstabe als Zeittrennzeichen, 2-stellige Stunde, 2-stellige Sekunde und 4-stellige Millisekunden verwendet wird). Beispiel: 20190627T0840107271.FileDateTimeUniversal. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums und der aktuellen Uhrzeit in universaler Zeit (UTC) im 24-Stunden-Format. Das Format ist
yyyyMMddTHHmmssffffZ
(Groß-/Kleinschreibung wird berücksichtigt, wobei ein 4-stelliger Jahr, 2-stelliger Monat, 2-stelliger Tag, derT
Buchstabe als Zeittrennzeichen, 2-stellige Stunde, 2-stellige Sekunde, 4-stellige Millisekunden und der Buchstabe als UTC-IndikatorZ
). Beispiel: 20190627T1540500718Z.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Hour
Gibt die Stunde an, die angezeigt wird. Geben Sie einen Wert von 0 bis 23 ein.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Millisecond
Gibt die Millisekunden im Datum an. Geben Sie einen Wert von 0 bis 999 ein.
Dieser Parameter wurde in PowerShell 3.0 eingeführt.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Minute
Gibt die Minute an, die angezeigt wird. Geben Sie einen Wert von 0 bis 59 ein.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Month
Gibt den Monat an, der angezeigt wird. Geben Sie einen Wert von 1 bis 12 ein.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Second
Gibt die sekunde an, die angezeigt wird. Geben Sie einen Wert von 0 bis 59 ein.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-UFormat
Zeigt das Datum und die Uhrzeit im UNIX-Format an. Der UFormat Parameter gibt ein Zeichenfolgenobjekt aus.
UFormat- Bezeichner werden einem Prozentzeichen (%
) vorangestellt, z. B. %m
, %d
und %Y
. Der abschnitt Notes enthält eine Tabelle mit gültigen UFormat-Bezeichnern.
Wenn der parameter UFormat verwendet wird, ruft Get-Date
nur die Eigenschaften des DateTime Objekts ab, die zum Anzeigen des Datums erforderlich sind. Daher sind einige der Eigenschaften und Methoden DateTime- Objekte möglicherweise nicht verfügbar.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-UnixTimeSeconds
Datum und Uhrzeit in Sekunden seit dem 1. Januar 1970, 0:00:00 Uhr.
Dieser Parameter wurde in PowerShell 7.1 eingeführt.
Typ: | Int64 |
Aliase: | UnixTime |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Year
Gibt das jahr an, das angezeigt wird. Geben Sie einen Wert von 1 bis 9999 ein.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können ein DateTime-Objekt an dieses Cmdlet weiterleiten.
Ausgaben
Standardmäßig gibt dieses Cmdlet ein DateTime--Objekt zurück.
Wenn ein DateTime--Objekt an ein Cmdlet wie Add-Content
gesendet wird, das Zeichenfolgeneingaben erwartet, konvertiert PowerShell das Objekt in ein String--Objekt.
Die ToString()
konvertiert ein DateTime--Objekt mithilfe der aktuellen Kultureinstellung in ein String-.
Die PowerShell-Ausdrucksinterpretation verwendet jedoch immer die invariante Kultureinstellung. Informationen dazu, wie sich die invariante Kultur unterscheidet, finden Sie unter Beispiel 11.
Um die Eigenschaften und Methoden eines Objekts anzuzeigen, senden Sie das Objekt an Get-Member
.
Beispiel: Get-Date | Get-Member
.
Wenn Sie die Parameter Format oder UFormat- verwenden, gibt dieses Cmdlet String--Objekte zurück.
Hinweise
Die Standardformate für die Ausgabe von DateTime--Objekten sind lange Datums- und Langzeitformate für das aktuell ausgewählte Gebietsschema.
Die gültigen UFormat-Bezeichner werden in der folgenden Tabelle angezeigt:
Wichtig
UFormat- Bezeichner werden in neueren Versionen von PowerShell geändert oder hinzugefügt. Beispielsweise wurde %F
in PowerShell 6.2 hinzugefügt, sodass es in Windows PowerShell 5.1 oder älter nicht verfügbar ist. Beachten Sie dies bei der Verwendung von UFormat- Bezeichnern in Skripts, die auf mehreren Versionen von PowerShell ausgeführt werden sollen.
Formatbezeichner | Bedeutung | Beispiel |
---|---|---|
%A |
Wochentag - vollständiger Name | Montag |
%a |
Wochentag – abgekürzter Name | Mo |
%B |
Monatsname - vollständig | Januar |
%b |
Monatsname – abgekürzt | Jan |
%C |
Jahrhundert | 20 für 2019 |
%c |
Datum und Uhrzeit – abgekürzt | Thu Jun 27 08:44:18 2019 |
%D |
Datum im Format mm/tt/jj | 06/27/19 |
%d |
Tag des Monats - 2 Ziffern | 05 |
%e |
Tag des Monats – vor einem Leerzeichen, wenn nur eine einzelne Ziffer | <Leerzeichen>5 |
%F |
Datum im Format JJJJ-mm-dd, gleich %Y-%m-%d (das ISO 8601-Datumsformat) | 2019-06-27 |
%G |
ISO-Wochendatumsjahr (Jahr mit Donnerstag der Woche) | |
%g |
Identisch mit 'G' - 2 Ziffern | |
%H |
Stunde im 24-Stunden-Format | 17 |
%h |
Identisch mit 'b' | |
%I |
Stunde im 12-Stunden-Format | 05 |
%j |
Tag des Jahres | 1-366 |
%k |
Identisch mit 'H' | |
%l |
Identisch mit 'I' (Großbuchstabe I) | 05 |
%M |
Protokoll | 35 |
%m |
Monatsnummer | 06 |
%n |
Neuzeilenzeichen | |
%p |
AM oder PM | |
%R |
Zeit im 24-Stunden-Format -no Sekunden | 17:45 |
%r |
Uhrzeit im 12-Stunden-Format | 09:15:36 Uhr |
%S |
Nachschlag | 05 |
%s |
Sekunden verstrichen seit dem 1. Januar 1970 00:00:00 (UTC) | 1150451174 |
%t |
Horizontales Tabstoppzeichen | |
%T |
Zeit im 24-Stunden-Format | 17:45:52 |
%U |
Identisch mit 'W' | |
%u |
Numerischer Wochentag (1-7) (In PowerShell 7.2 geändert) | Montag = 1, Sonntag = 7 |
%V |
Woche des Jahres | 01-53 |
%w |
Numerischer Wochentag (0-6) | Sonntag = 0, Samstag = 6 |
%W |
Woche des Jahres | 00-52 |
%X |
Identisch mit 'T' | |
%x |
Datum im Standardformat für gebietsschema | 06/27/19 für English-US |
%Y |
Jahr im 4-stelligen Format | 2019 |
%y |
Jahr im 2-stelligen Format | 19 |
%Z |
Zeitzonenoffset von Universal Time Coordinate (UTC) | -07 |
Anmerkung
Das Verhalten von -UFormat %s
wurde geändert, um Probleme mit dem Verhalten in Windows PowerShell zu beheben.
- Der Rückgabewert basiert auf UTC-Zeit.
- Der Wert ist eine ganze Anzahl von Sekundenwerten (kein Bruchteil).