Freigeben über


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-Objectgesendet. 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 311. 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-Indikator Z). 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, der T 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, der T Buchstabe als Zeittrennzeichen, 2-stellige Stunde, 2-stellige Sekunde, 4-stellige Millisekunden und der Buchstabe als UTC-Indikator Z). 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, %dund %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

DateTime

Sie können ein DateTime-Objekt an dieses Cmdlet weiterleiten.

Ausgaben

DateTime

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.

String

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