Get-Date
Ruft das aktuelle Datum und die 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 Get-Date
Cmdlet ruft ein DateTime-Objekt ab, das das aktuelle Datum oder ein von Ihnen angegebenes Datum darstellt. Get-Date
kann das Datum und die Uhrzeit in verschiedenen .NET- und UNIX-Formaten formatieren. Sie können Get-Date
eine Datums- oder Uhrzeitzeichenfolge generieren und dann die Zeichenfolge an andere Cmdlets oder Programme senden.
Get-Date
verwendet die aktuellen Kultureinstellungen des Betriebssystems, um zu bestimmen, wie die Ausgabe formatiert ist. Um die Einstellungen Ihres Computers anzuzeigen, verwenden Sie (Get-Culture).DateTimeFormat
.
Beispiele
Beispiel 1: Abrufen des aktuellen Datums und der aktuellen Uhrzeit
In diesem Beispiel Get-Date
werden das aktuelle Systemdatum und die aktuelle Uhrzeit angezeigt. 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 das Datums- oder Uhrzeitelement abrufen Get-Date
. Der Parameter verwendet die Argumente Date, Time oder 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:
Bezeichner | 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 Zeichenfolgen im Datums- und Uhrzeitformat.
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 UFormat-Parameter , um mehrere Formatbezeichner anzugeben.
Die in diesem Beispiel verwendeten UFormat-Formatbezeichner sind wie folgt definiert:
Bezeichner | 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 der gültigen 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, Monat und Tag. Der Befehl wird mit Klammern umschlossen, 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 Sommerzeit angepasst ist.
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 "Notizen" 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 UFormat-Parameter mit Formatbezeichnern, um das aktuelle Systemdatum und die aktuelle Systemzeit anzuzeigen. Der Formatbezeichner "%Z " stellt den UTC-Offset von -07 dar.
Die $Time
Variable 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 ein Timestamp 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 Formatparameter mit dem Formatbezeichner von Kleinbuchstaben o
, um ein Timestamp String -Objekt zu erstellen. Das Objekt wird an die Pipeline gesendet.ForEach-Object
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 Path-Parameter , um den Speicherort für ein neues Verzeichnis anzugeben. Der Pfad enthält die $timestamp
Variable als Verzeichnisnamen. Der Type-Parameter gibt an, dass ein Verzeichnis erstellt wird.
Beispiel 9: Konvertieren eines Unix-Zeitstempels
In diesem Beispiel wird eine Unix-Zeitangabe (dargestellt durch die Anzahl von Sekunden seit dem 1970-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 Time" festgelegt. Gibt standardmäßig 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
Das ToString()
konvertiert ein DateTime-Objekt in eine Zeichenfolge mithilfe der aktuellen Kultureinstellung.
Die PowerShell-Ausdrucksinterpretation verwendet jedoch immer die invariante Kultureinstellung.
Beispielsweise formatiert die ToString()
Methode auf einem System, in dem die en-US
Kultur wirksam ist, 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 Set-Culture
Cmdlets ändern.
Beispiel: in US-Englisch:
Get-Date -Date "6/25/2019 12:30:22"
gibt Dienstag, Juni 25, 2019 12:30:22 zurück
Typ: | DateTime |
Aliase: | LastWriteTime |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Day
Gibt den angezeigten Tag des Monats an. Geben Sie einen Wert zwischen 1 und 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. Zeigt beispielsweise Get-Date -Month 4 -Day 31
den 1. Mai und nicht den 31. April an.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DisplayHint
Bestimmt, welche Elemente von Datum und Uhrzeit angezeigt werden.
Die akzeptierten Werte sind wie folgt:
- Datum: 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 wird. Der Parameter Format gibt ein String-Objekt aus.
Eine Liste der verfügbaren .NET-Formatbezeichner finden Sie unter Benutzerdefinierte Zeichenfolgen im Datums- und Uhrzeitformat.
Wenn der Parameter Format verwendet wird, ruft nur die Eigenschaften des DateTime-Objekts ab, Get-Date
die zum Anzeigen des Datums erforderlich sind. Daher sind einige der Eigenschaften und Methoden von DateTime-Objekten 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 ein 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 BuchstabensZ
als UTC-Indikator beachtet). 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 beachtet, wobei ein 4-stelliger Jahr, 2-stelliger Monat, 2-stelliger Tag, der BuchstabeT
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 beachtet, wobei ein 4-stelliger Jahr, 2-stelliger Monat, 2-stelliger Tag, der BuchstabeT
als Zeittrennzeichen, 2-stellige Stunde, 2-stellige Minute, 2-stellige Sekunde, 4-stellige Millisekunden und der BuchstabeZ
als UTC-Indikator verwendet wird). Beispiel: 20190627T1540500718Z.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Hour
Gibt die angezeigte Stunde an. 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 angezeigte Minute an. 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 angezeigten Monat an. 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 angezeigte Sekunde an. 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 (%
), z%m
. B. , , %d
und .%Y
Der Abschnitt "Notizen" enthält eine Tabelle mit gültigen UFormat-Bezeichnern.
Wenn der UFormat-Parameter verwendet wird, ruft nur die Eigenschaften des DateTime-Objekts ab, Get-Date
die zum Anzeigen des Datums erforderlich sind. Daher sind einige der Eigenschaften und Methoden von DateTime-Objekten 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 angezeigte Jahr an. 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 gesendet wird, zAdd-Content
. B. das Zeichenfolgeneingabe erwartet, konvertiert PowerShell das Objekt in ein String-Objekt.
Das ToString()
Konvertiert ein DateTime -Objekt in eine Zeichenfolge mithilfe der aktuellen Kultureinstellung.
Die PowerShell-Ausdrucksinterpretation verwendet jedoch immer die invariante Kultureinstellung. Informationen dazu, wie sich die invariante Kultur unterscheidet, finden Sie in Beispiel 11.
Um die Eigenschaften und Methoden eines Objekts anzuzeigen, senden Sie das Objekt an die Pipeline nach unten.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 long-date- und long-time-Formate 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 %F
wurde 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 für die Ausführung in mehreren Versionen von PowerShell entwickelt wurden.
Formatbezeichner | Bedeutung | Beispiel |
---|---|---|
%A |
Wochentag - vollständiger Name | Montag |
%a |
Wochentag – abgekürzter Name | Mon |
%B |
Monatsname - vollständig | January |
%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-tt, gleich %Y-%m-%d (das ISO 8601-Datumsformat) | 27.06.2019 |
%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 |
Minuten | 35 |
%m |
Monatsnummer | 06 |
%n |
Neuzeilenzeichen | |
%p |
AM oder PM | |
%R |
Zeit im 24-Stunden-Format - keine Sekunden | 17:45 |
%r |
Uhrzeit im 12-Stunden-Format | 09:15:36 Uhr |
%S |
Sekunden | 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 Englisch-US |
%Y |
Jahr im 4-stelligen Format | 2019 |
%y |
Jahr im 2-stelligen Format | 19 |
%Z |
Zeitzonenoffset von Universal Time Coordinate (UTC) | -07 |
Hinweis
Das Verhalten wurde -UFormat %s
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).