Freigeben über


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 Buchstabens Z 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 Buchstabe T 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 Buchstabe T als Zeittrennzeichen, 2-stellige Stunde, 2-stellige Minute, 2-stellige Sekunde, 4-stellige Millisekunden und der Buchstabe Z 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. , , %dund .%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

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

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