Share via


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 datum darstellt, das Sie angeben. Get-Date kann Datum und Uhrzeit in mehreren .NET- und UNIX-Formaten formatieren. Sie können verwenden Get-Date , um eine Datums- oder Uhrzeitzeichenfolge zu generieren und die Zeichenfolge dann an andere Cmdlets oder Programme zu senden.

Get-Date verwendet die Kultureinstellungen des Computers, um zu bestimmen, wie die Ausgabe formatiert ist. Verwenden (Get-Culture).DateTimeFormatSie , um die Einstellungen Ihres Computers anzuzeigen.

Beispiele

Beispiel 1: Abrufen des aktuellen Datums und der aktuellen Uhrzeit

In diesem Beispiel Get-Date wird das aktuelle Systemdatum und die aktuelle Systemzeit angezeigt. Die Ausgabe erfolgt im Format 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 verwenden Get-Date , um entweder das Datums- oder Uhrzeitelement abzurufen. Der Parameter verwendet die Argumente Date, Time oder DateTime.

Get-Date -DisplayHint Date

Tuesday, June 25, 2019

Get-Date verwendet den DisplayHint-Parameter 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 Format-Parameter , um mehrere Formatbezeichner anzugeben.

Die in diesem Beispiel verwendeten .NET-Formatbezeichner werden 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 Datums- und Uhrzeitformatzeichenfolgen.

Beispiel 4: Abrufen des Datums und der Uhrzeit mit einem UFormat-Spezifizierer

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 des 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 die Sommerzeit angepasst wird

In diesem Beispiel wird eine boolesche Methode verwendet, um zu überprüfen, ob ein Datum durch die Sommerzeit angepasst wird.

$DST = Get-Date
$DST.IsDaylightSavingTime()

True

Eine Variable, $DST die das Ergebnis von Get-Datespeichert. $DST verwendet die IsDaylightSavingTime-Methode , um zu testen, ob das Datum für die 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 enthält die gültigen UFormat-Formatbezeichner .

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 Systemzeit. $Time verwendet die ToUniversalTime() -Methode, um die Zeit basierend auf dem UTC-Offset des Computers zu konvertieren.

Beispiel 8: Create eines Zeitstempels

In diesem Beispiel erstellt ein Formatbezeichner ein Timestamp String-Objekt für einen Verzeichnisnamen. Der Zeitstempel enthält 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 Format-Parameter mit dem Formatbezeichner von Kleinbuchstaben o , um ein Timestamp String-Objekt zu erstellen. Das -Objekt wird in der 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 Path-Parameter , 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-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 das 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-Äquivalentzeit 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

Parameter

-AsUTC

Konvertiert den Datumswert in die entsprechende Uhrzeit in UTC.

Dieser Parameter wurde in PowerShell 7.1 eingeführt.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Date

Gibt ein Datum und eine Uhrzeit an. Die Zeit ist optional und gibt 00:00:00:00 zurück, wenn sie nicht angegeben wird.

Geben Sie Datum und Uhrzeit in einem Format ein, das standard für das Systemgebietsschema ist.

Beispielsweise in US-Englisch:

Get-Date -Date "6/25/2019 12:30:22" gibt Dienstag, 25. Juni 2019 um 12:30:22

Type:DateTime
Aliases:LastWriteTime
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 der Tage in einem Monat ist, fügt PowerShell dem Monat die Anzahl der Tage hinzu. Zeigt beispielsweise Get-Date -Month 2 -Day 31den 3. März und nicht den 31. Februar an.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayHint

Bestimmt, welche Elemente von Datum und Uhrzeit angezeigt werden.

Die akzeptierten Werte sind wie folgt:

  • Datum: Zeigt nur das Datum an.
  • Zeit: Zeigt nur die Zeit an.
  • DateTime: Zeigt Datum und Uhrzeit an.
Type:DisplayHintType
Accepted values:Date, Time, DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Datums- und Uhrzeitformatzeichenfolgen.

Wenn der Format-Parameter verwendet wird, ruft nur die Eigenschaften des DateTime-Objekts ab, Get-Date die zum Anzeigen des Datums erforderlich sind. Folglich stehen einige der Eigenschaften und Methoden der DateTime-Objekte möglicherweise nicht zur Verfügung.

Ab PowerShell 5.0 können Sie die folgenden zusätzlichen Formate als Werte für den Format-Parameter verwenden.

  • FileDate. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums in Ortszeit. Das Format ist yyyyMMdd (Groß-/Kleinschreibung beachten, wobei ein 4-stelliges Jahr, ein 2-stelliger Monat und ein 2-stelliger Tag verwendet werden). Beispiel: 20190627.

  • FileDateUniversal. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums in der Weltzeit (UTC). Das Format ist yyyyMMddZ (Groß-/Kleinschreibung beachten, wobei ein 4-stelliges Jahr, ein 2-stelliger Monat, ein 2-stelliger Tag und der Buchstabe Z als UTC-Indikator verwendet werden). Beispiel: 20190627Z.

  • FileDateTime. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums und der aktuellen Uhrzeit in Ortszeit im 24-Stunden-Format. Das Format ist yyyyMMddTHHmmssffff (Groß-/Kleinschreibung beachten, wobei ein 4-stelliges Jahr, ein 2-stelliger Monat, ein 2-stelliger Tag, der Buchstabe T als Zeittrennzeichen, eine 2-stellige Stunde, eine 2-stellige Minute, eine 2-stellige Sekunde und eine 4-stellige Millisekunde verwendet werden). Beispiel: 20190627T0840107271.

  • FileDateTimeUniversal. Eine datei- oder pfadfreundliche Darstellung des aktuellen Datums und der aktuellen Uhrzeit in der Weltzeit (UTC) im 24-Stunden-Format. Das Format ist yyyyMMddTHHmmssffffZ (Groß-/Kleinschreibung, wobei ein 4-stelliges Jahr, ein 2-stelliger Monat, ein 2-stelliger Tag, der Buchstabe T als Zeittrennzeichen, eine 2-stellige Stunde, eine 2-stellige Minute, eine 4-stellige Millisekunde und der Buchstabe Z als UTC-Indikator verwendet werden). Beispiel: 20190627T1540500718Z.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Hour

Gibt die angezeigte Stunde an. Geben Sie einen Wert zwischen 0 und 23 ein.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Millisecond

Gibt die Millisekunden im Datum an. Geben Sie einen Wert zwischen 0 und 999 ein.

Dieser Parameter wurde in PowerShell 3.0 eingeführt.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minute

Gibt die angezeigte Minute an. Geben Sie einen Wert zwischen 0 und 59 ein.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Month

Gibt den angezeigten Monat an. Geben Sie einen Wert zwischen 1 und 12 ein.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Second

Gibt die angezeigte Sekunde an. Geben Sie einen Wert zwischen 0 und 59 ein.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UFormat

Zeigt das Datum und die Uhrzeit im UNIX-Format an. Der UFormat-Parameter gibt ein Zeichenfolgenobjekt aus.

UFormat-Spezifizierern wird ein Prozentzeichen (%) vorangestellt, %mz. B. , %d, und %Y. Der Abschnitt Notes 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. Folglich stehen einige der Eigenschaften und Methoden der DateTime-Objekte möglicherweise nicht zur Verfügung.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Int64
Aliases:UnixTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Year

Gibt das angezeigte Jahr an. Geben Sie einen Wert zwischen 1 und 9999 ein.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

Pipeline input

Get-Date akzeptiert Pipelineeingaben. Beispiel: Get-ChildItem | Get-Date.

Ausgaben

System.DateTime or System.String

Get-Date gibt ein DateTime-Objekt zurück, außer wenn die Parameter Format und UFormat verwendet werden. Die Parameter Format oder UFormat geben String-Objekte zurück.

Wenn ein DateTime-Objekt an ein Cmdlet wie Add-Content gesendet wird, das eine Zeichenfolgeneingabe erwartet, konvertiert PowerShell das Objekt in ein String-Objekt .

Die -Methode (Get-Date).ToString() konvertiert ein DateTime-Objekt in ein String-Objekt .

Um die Eigenschaften und Methoden eines Objekts anzuzeigen, senden Sie das Objekt in der Pipeline an Get-Member. Beispiel: Get-Date | Get-Member.

Hinweise

DateTime-Objekte befinden sich in langen Datums- und Langzeitformaten für das Systemgebietsschema.

Die gültigen UFormat-Spezifizierer werden in der folgenden Tabelle angezeigt:

Formatbezeichner Bedeutung Beispiel
%A Wochentag – vollständiger Name Montag
%a Wochentag – abgekürzter Name Mon
%B Name des Monats – vollständig January
%b Name des Monats – abgekürzt Jan
%C Jahrhundert 20 für 2019
%c Datum und Uhrzeit – abgekürzt Do Jun 27 08:44:18 2019
%D Datum im Mm/TT/JJ-Format 06/27/19
%d Tag des Monats - 2 Ziffern 05
%e Tag des Monats – vorangestellt von einem Leerzeichen, wenn nur eine einzelne Ziffer <Leerzeichen>5
%F Datum im Format JJJJ-mm-tt, gleich %Y-%%m-%d (iso 8601-Datumsformat) 2019-06-27
%G Identisch mit "Y"
%g Identisch mit "y"
%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 Zeilenumbruchzeichen
%p AM oder PM
%R Zeit im 24-Stunden-Format – keine Sekunden 17:45
%r Zeit im 12-Stunden-Format 09:15:36 Uhr
%S Sekunden 05
%s Sekunden verstrichen seit dem 1. Januar 1970 00:00:00 1150451174
%t Horizontales Tabstoppzeichen
%T Zeit im 24-Stunden-Format 17:45:52
%U Identisch mit "W"
%u Wochentag - Zahl Sonntag = 0
%V Woche des Jahres 01-53
%w Identisch mit "u"
%W Woche des Jahres 00-52
%X Identisch mit "T"
%x Datum im Standardformat für Gebietsschema 27.06.19 für Englisch-USA
%Y Jahr im 4-stelligen Format 2019
%y Jahr im 2-stelligen Format 19
%Z Zeitzonenoffset von Universal Time Coordinate (UTC) -07