Delen via


Get-Date

Hiermee haalt u de huidige datum en tijd op.

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

Description

De Get-Date cmdlet haalt een DateTime-object op dat de huidige datum of een datum vertegenwoordigt die u opgeeft. Get-Date kan de datum en tijd in verschillende .NET- en UNIX-indelingen opmaken. U kunt gebruiken Get-Date om een tekenreeks met datum- of tijdtekens te genereren en de tekenreeks vervolgens naar andere cmdlets of programma's te verzenden.

Get-Date gebruikt de huidige cultuurinstellingen van het besturingssysteem om te bepalen hoe de uitvoer wordt geformatteerd. Als u de instellingen van uw computer wilt weergeven, gebruikt u (Get-Culture).DateTimeFormat.

Voorbeelden

Voorbeeld 1: De huidige datum en tijd ophalen

In dit voorbeeld Get-Date worden de huidige systeemdatum en -tijd weergegeven. De uitvoer heeft de notatie long-date en long-time.

Get-Date

Tuesday, June 25, 2019 14:53:32

Voorbeeld 2: Elementen van de huidige datum en tijd ophalen

In dit voorbeeld ziet u hoe u Get-Date gebruikt om het datum- of tijdelement op te halen. De parameter gebruikt de argumenten Datum, Tijd of Datum/tijd.

Get-Date -DisplayHint Date

Tuesday, June 25, 2019

Get-Date gebruikt de parameter DisplayHint met het argument Date om alleen de datum op te halen.

Voorbeeld 3: de datum en tijd ophalen met een .NET-indelingsaanduiding

In dit voorbeeld wordt een .NET-indelingsaanduiding gebruikt om de indeling van de uitvoer aan te passen. De uitvoer is een tekenreeksobject .

Get-Date -Format "dddd MM/dd/yyyy HH:mm K"

Tuesday 06/25/2019 16:17 -07:00

Get-Date gebruikt de parameter Format om verschillende notatieaanduidingen op te geven.

De .NET-indelingsaanduidingen die in dit voorbeeld worden gebruikt, zijn als volgt gedefinieerd:

Aanduiding Definitie
dddd Dag van de week - volledige naam
MM Maandnummer
dd Dag van de maand - 2 cijfers
yyyy Jaar in 4-cijferige notatie
HH:mm Tijd in 24-uursnotatie - geen seconden
K Tijdzoneverschil ten opzichte van Universal Time Coördinaat (UTC)

Zie Tekenreeksen voor aangepaste datum- en tijdnotatie voor meer informatie over aanduidingen voor .NET-indeling.

Voorbeeld 4: de datum en tijd ophalen met een UFormat-aanduiding

In dit voorbeeld worden verschillende UFormat-indelingsaanduidingen gebruikt om de indeling van de uitvoer aan te passen. De uitvoer is een tekenreeksobject .

Get-Date -UFormat "%A %m/%d/%Y %R %Z"

Tuesday 06/25/2019 16:19 -07

Get-Date gebruikt de parameter UFormat om verschillende notatieaanduidingen op te geven.

De UFormat-notatieaanduidingen die in dit voorbeeld worden gebruikt, zijn als volgt gedefinieerd:

Aanduiding Definitie
%A Dag van de week - volledige naam
%m Maandnummer
%d Dag van de maand - 2 cijfers
%Y Jaar in 4-cijferige notatie
%R Tijd in 24-uursnotatie - geen seconden
%Z Tijdzoneverschil ten opzichte van Universal Time Coördinaat (UTC)

Zie de sectie Notities voor een lijst met geldige UFormat-indelingsaanduidingen.

Voorbeeld 5: De dag van het jaar van een datum ophalen

In dit voorbeeld wordt een eigenschap gebruikt om de numerieke dag van het jaar op te halen.

De Gregoriaanse kalender heeft 365 dagen, met uitzondering van schrikkeljaren die 366 dagen hebben. 31 december 2020 is bijvoorbeeld dag 366.

(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear

366

Get-Date gebruikt drie parameters om de datum op te geven: Year, Month en Day. De opdracht wordt tussen haakjes geplaatst, zodat het resultaat wordt geëvalueerd door de eigenschap DayofYear .

Voorbeeld 6: Controleren of een datum is aangepast voor zomertijd

In dit voorbeeld wordt een booleaanse methode gebruikt om te controleren of een datum wordt aangepast door zomertijd.

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

True

Met een variabele wordt $DST het resultaat van Get-Dateopgeslagen. $DST gebruikt de methode IsDaylightSavingTime om te testen of de datum is aangepast voor zomertijd.

Voorbeeld 7: de huidige tijd converteren naar UTC-tijd

In dit voorbeeld wordt de huidige tijd geconverteerd naar UTC-tijd. De UTC-verschuiving voor de landinstelling van het systeem wordt gebruikt om de tijd te converteren. Een tabel in de sectie Notities bevat de geldige UFormat-opmaakaanduidingen .

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 gebruikt de parameter UFormat met notatieaanduidingen om de huidige systeemdatum en -tijd weer te geven. De notatieaanduiding %Z vertegenwoordigt de UTC-verschuiving van -07.

De $Time variabele slaat de huidige systeemdatum en -tijd op. $Time gebruikt de ToUniversalTime() methode om de tijd te converteren op basis van de UTC-verschuiving van de computer.

Voorbeeld 8: een tijdstempel Creatie

In dit voorbeeld maakt een notatieaanduiding een tijdstempeltekenreeksobject voor een mapnaam. De tijdstempel bevat de datum, tijd en UTC-verschuiving.

$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

Met $timestamp de variabele worden de resultaten van een Get-Date opdracht opgeslagen. Get-Dategebruikt de parameter Format met de notatieaanduiding van kleine letters o om een tijdstempelreeksobject te maken. Het object wordt door de pijplijn verzonden naar ForEach-Object. Een ScriptBlock bevat de $_ variabele die het huidige pijplijnobject vertegenwoordigt. De tijdstempeltekenreeks wordt gescheiden door dubbele punten die worden vervangen door punten.

New-Item gebruikt de parameter Path om de locatie voor een nieuwe map op te geven. Het pad bevat de $timestamp variabele als de mapnaam. De parameter Type geeft aan dat er een map wordt gemaakt.

Voorbeeld 9: Een Unix-tijdstempel converteren

In dit voorbeeld wordt een Unix-tijd (vertegenwoordigd door het aantal seconden sinds 1970-01-01 0:00:00) geconverteerd naar DateTime.

Get-Date -UnixTimeSeconds 1577836800

Wednesday, January 01, 2020 12:00:00 AM

Voorbeeld 10: een datumwaarde retourneren die wordt geïnterpreteerd als UTC

In dit voorbeeld ziet u hoe u een datumwaarde interpreteert als het UTC-equivalent. Voor het voorbeeld is deze machine ingesteld op Pacific (standaardtijd). Standaard worden Get-Date waarden voor die tijdzone geretourneerd. Gebruik de parameter AsUTC om de waarde te converteren naar de UTC-equivalente tijd.

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

Voorbeeld 11: Invariante cultuur weergeven

De ToString() converteert een datum/tijd-object een tekenreeks met behulp van de huidige cultuurinstelling. PowerShell-expressie-interpretatie maakt echter altijd gebruik van de invariante cultuurinstelling.

In een systeem met de en-US cultuur wordt ToString() de datum bijvoorbeeld opgemaakt met behulp van de en-US cultuur-instellingen.

# 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

Parameters

-AsUTC

Converteert de datumwaarde naar de equivalente tijd in UTC.

Deze parameter is geïntroduceerd in PowerShell 7.1.

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

-Date

Hiermee geeft u een datum en tijd. Tijd is optioneel en als deze niet is opgegeven, wordt 00:00:00 geretourneerd. Voer de datum en tijd in een notatie in die standaard is voor de geselecteerde landinstelling. U kunt de huidige landinstelling wijzigen met behulp van de Set-Culture cmdlet.

Bijvoorbeeld in Amerikaans-Engels:

Get-Date -Date "6/25/2019 12:30:22" retourneert dinsdag 25 juni 2019 12:30:22

Type:DateTime
Aliases:LastWriteTime
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Day

Hiermee geeft u de dag van de maand die wordt weergegeven. Voer een waarde in tussen 1 en 31.

Als de opgegeven waarde groter is dan het aantal dagen in een maand, voegt PowerShell het aantal dagen toe aan de maand. Geeft bijvoorbeeld Get-Date -Month 4 -Day 311 mei weer, niet 31 april.

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

-DisplayHint

Bepaalt welke elementen van de datum en tijd worden weergegeven.

De geaccepteerde waarden zijn als volgt:

  • Datum: geeft alleen de datum weer
  • Tijd: geeft alleen de tijd weer
  • DateTime: geeft de datum en tijd weer
Type:DisplayHintType
Accepted values:Date, Time, DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Format

Geeft de datum en tijd weer in de Microsoft .NET Framework notatie die wordt aangegeven door de notatieaanduiding. De parameter Format voert een tekenreeksobject uit.

Zie Tekenreeksen voor aangepaste datum- en tijdnotatie voor een lijst met beschikbare .NET-indelingsaanduidingen.

Wanneer de parameter Format wordt gebruikt, Get-Date haalt u alleen de eigenschappen van het DateTime-object op die nodig zijn om de datum weer te geven. Als gevolg hiervan zijn sommige eigenschappen en methoden van DateTime-objecten mogelijk niet beschikbaar.

Vanaf PowerShell 5.0 kunt u de volgende aanvullende indelingen gebruiken als waarden voor de parameter Format .

  • FileDate. Een bestands- of padvriendelijke weergave van de huidige datum in de lokale tijd. De notatie is yyyyMMdd (hoofdlettergevoelig, met een jaar van 4 cijfers, een maand met twee cijfers en een dag van 2 cijfers). Bijvoorbeeld: 20190627.

  • FileDateUniversal. Een bestands- of padvriendelijke weergave van de huidige datum in universele tijd (UTC). De notatie is yyyyMMddZ (hoofdlettergevoelig, met een jaar van 4 cijfers, een maand van twee cijfers, een dag van 2 cijfers en de letter Z als utc-indicator). Bijvoorbeeld: 20190627Z.

  • FileDateTime. Een bestands- of padvriendelijke weergave van de huidige datum en tijd in de lokale tijd, in 24-uursnotatie. De notatie is yyyyMMddTHHmmssffff (hoofdlettergevoelig, met een jaar van 4 cijfers, een maand van 2 cijfers, een dag van 2 cijfers, de letter T als tijdscheidingsteken, een uur van 2 cijfers, een minuut van 2 cijfers, een seconde van twee cijfers en een 4-cijferige milliseconde). Bijvoorbeeld: 20190627T0840107271.

  • FileDateTimeUniversal. Een bestands- of padvriendelijke weergave van de huidige datum en tijd in universele tijd (UTC), in 24-uursnotatie. De notatie is yyyyMMddTHHmmssffffZ (hoofdlettergevoelig, met een jaar van 4 cijfers, een maand met twee cijfers, een dag van twee cijfers, de letter T als tijdscheidingsteken, een uur van 2 cijfers, een minuut van 2 cijfers, een seconde van 2 cijfers, een milliseconde van 4 cijfers en de letter Z als UTC-indicator). Bijvoorbeeld: 20190627T1540500718Z.

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

-Hour

Hiermee geeft u het uur op dat wordt weergegeven. Voer een waarde tussen 0 en 23 in.

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

-Millisecond

Hiermee geeft u de milliseconden in de datum op. Voer een waarde in tussen 0 en 999.

Deze parameter is geïntroduceerd in PowerShell 3.0.

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

-Minute

Hiermee geeft u de minuut op die wordt weergegeven. Voer een waarde in tussen 0 en 59.

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

-Month

Hiermee geeft u de maand die wordt weergegeven. Voer een waarde tussen 1 en 12 in.

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

-Second

Hiermee geeft u de tweede die wordt weergegeven. Voer een waarde in tussen 0 en 59.

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

-UFormat

Geeft de datum en tijd weer in UNIX-indeling. De parameter UFormat voert een tekenreeksobject uit.

UFormat-aanduidingen worden voorafgegaan door een procentteken (%), bijvoorbeeld %m, %den %Y. De sectie Notities bevat een tabel met geldige UFormat-aanduidingen.

Wanneer de parameter UFormat wordt gebruikt, Get-Date worden alleen de eigenschappen van het Object DateTime opgehaald die nodig zijn om de datum weer te geven. Als gevolg hiervan zijn sommige eigenschappen en methoden van DateTime-objecten mogelijk niet beschikbaar.

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

-UnixTimeSeconds

Datum en tijd weergegeven in seconden sinds 1 januari 1970, 0:00:00.

Deze parameter is geïntroduceerd in PowerShell 7.1.

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

-Year

Hiermee geeft u het jaar dat wordt weergegeven. Voer een waarde in tussen 1 en 9999.

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

Invoerwaarden

DateTime

U kunt een DateTime-object doorsnijden naar deze cmdlet.

Uitvoerwaarden

DateTime

Deze cmdlet retourneert standaard een DateTime-object .

Wanneer een DateTime-object naar de pijplijn wordt verzonden naar een cmdlet zoals Add-Content die tekenreeksinvoer verwacht, converteert PowerShell het object naar een tekenreeksobject .

De ToString() converteert een DateTime-object naar een tekenreeks met behulp van de huidige cultuurinstelling. PowerShell-expressie-interpretatie maakt echter altijd gebruik van de invariante cultuurinstelling. Zie voorbeeld 11 om te zien hoe invariante cultuur verschilt.

Als u de eigenschappen en methoden van een object wilt weergeven, verzendt u het object omlaag in de pijplijn naar Get-Member. Bijvoorbeeld Get-Date | Get-Member.

String

Wanneer u de parameters Format of UFormat gebruikt, retourneert deze cmdlet Tekenreeksobjecten .

Notities

De standaardindelingen voor de uitvoer van DateTime-objecten zijn lange datum- en lange-tijdnotaties voor de geselecteerde landinstelling.

De geldige UFormat-aanduidingen worden weergegeven in de volgende tabel:

Belangrijk

UFormat-aanduidingen worden gewijzigd of toegevoegd in nieuwere versies van PowerShell. Is bijvoorbeeld %F toegevoegd in PowerShell 6.2, dus het is niet beschikbaar in Windows PowerShell 5.1 of ouder. Houd hier rekening mee wanneer u UFormat-aanduidingen gebruikt in scripts die zijn ontworpen om te worden uitgevoerd op meerdere versies van PowerShell.

Opmaakaanduiding Betekenis Voorbeeld
%A Dag van de week - volledige naam Maandag
%a Dag van de week - verkorte naam Ma
%B Maandnaam - volledig Januari
%b Maandnaam - afgekort Jan
%C Eeuw 20 voor 2019
%c Datum en tijd - afgekort Do 27 juni 08:44:18 2019
%D Datum in mm-dd-/jj-notatie 06/27/19
%d Dag van de maand - 2 cijfers 05
%e Dag van de maand - voorafgegaan door een spatie als slechts één cijfer <spatie>5
%F Datum in de notatie JJJJ-mm-dd, gelijk aan %Y-%m-%d (de ISO 8601-datumnotatie) 2019-06-27
%G ISO-weekdatumjaar (jaar met donderdag van de week)
%g Gelijk aan 'G' - 2 cijfers
%H Uur in 24-uursindeling 17
%h Hetzelfde als 'b'
%I Uur in 12-uursindeling 05
%j Dag van het jaar 1-366
%k Hetzelfde als 'H'
%l Hetzelfde als 'I' (hoofdletter I) 05
%M Minuten 35
%m Maandnummer 06
%n nieuw regelteken
%p AM of PM
%R Tijd in 24-uursnotatie - geen seconden 17:45
%r Tijd in 12-uursnotatie 09:15:36
%S Seconden 05
%s Seconden verstreken sinds 1 januari 1970 00:00:00 (UTC) 1150451174
%t Horizontaal tabteken
%T Tijd in 24-uursindeling 17:45:52
%U Hetzelfde als 'W'
%u Numerieke dag van de week (1-7) (gewijzigd in PowerShell 7.2) Maandag = 1, zondag = 7
%V Week van het jaar 01-53
%w Numerieke dag van de week (0-6) Zondag = 0, zaterdag = 6
%W Week van het jaar 00-52
%X Hetzelfde als 'T'
%x Datum in standaardnotatie voor landinstellingen 27-06-19 voor Engels-VS
%Y Jaar in 4-cijferige notatie 2019
%y Jaar in 2-cijferige notatie 19
%Z Tijdzoneverschil ten opzichte van Universal Time Coördinaat (UTC) -07

Notitie

Het gedrag van -UFormat %s is gewijzigd om problemen met het gedrag in Windows PowerShell op te lossen.

  • De retourwaarde is gebaseerd op UTC-tijd.
  • De waarde is een geheel aantal seconden (geen breuk).