Delen via


Get-Date

Hiermee haalt u de huidige datum en tijd op.

Syntaxis

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 een Get-Date tekenreeks voor datum of tijd genereren en de tekenreeks vervolgens naar andere cmdlets of programma's verzenden.

Get-Date gebruikt de huidige cultuurinstellingen van het besturingssysteem om te bepalen hoe de uitvoer wordt opgemaakt. 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 wordt de huidige systeemdatum en -tijd weergegeven. De uitvoer heeft de indelingen lange datum en lange tijd.

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 Get-Date u het datum- of tijdelement opgeeft. 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 Datum 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 opmaakaanduidingen op te geven.

De .NET-indelingsaanduidingen die in dit voorbeeld worden gebruikt, worden 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 Tijdzone-verschuiving van Universal Time Coördinaat (UTC)

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

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 opmaakaanduidingen op te geven.

De UFormat-indelingsaanduidingen die in dit voorbeeld worden gebruikt, worden 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 Tijdzone-verschuiving van Universal Time Coördinaat (UTC)

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

Voorbeeld 5: Een datumdag van het jaar 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. Bijvoorbeeld: 31 december 2020 is dag 366.

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

366

Get-Date gebruikt drie parameters om de datum op te geven: Jaar, Maand en Dag. De opdracht wordt verpakt met haakjes, 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

Een variabele, $DST slaat het resultaat van Get-Date. $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-offset 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 opmaakaanduidingen om de huidige systeemdatum en -tijd weer te geven. De notatieaanduiding %Z vertegenwoordigt de UTC-offset 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-offset van de computer.

Voorbeeld 8: Een tijdstempel maken

In dit voorbeeld maakt een indelingsaanduiding een tijdstempeltekenreeksobject voor een mapnaam. De tijdstempel bevat de offset datum, tijd en UTC.

$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

De $timestamp variabele slaat de resultaten van een Get-Date opdracht op. Get-Dategebruikt de parameter Format met de notatieaanduiding van kleine letters o om een tijdstempeltekenreeksobject te maken. Het object wordt naar de pijplijn verzonden.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 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 utc-equivalent. In het voorbeeld is deze machine ingesteld op Pacific Standard Time. Retourneert standaard Get-Date waarden voor die tijdzone. Gebruik de parameter AsUTC om de waarde te converteren naar de equivalente UTC-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

Hiermee ToString() wordt een DateTime-object geconverteerd naar een tekenreeks met behulp van de huidige cultuurinstelling. De interpretatie van powerShell-expressies maakt echter altijd gebruik van de instelling voor invariante cultuur.

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

# 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Date

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

Bijvoorbeeld in het Engels in de VS:

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

Type:DateTime
Aliassen:LastWriteTime
Position:0
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 31 1 mei weer, niet 31 april.

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DisplayHint

Bepaalt welke elementen van de datum en tijd worden weergegeven.

De geaccepteerde waarden zijn als volgt:

  • Datum: alleen de datum weergeven
  • Tijd: alleen de tijd weergeven
  • Datum/tijd: geeft de datum en tijd weer
Type:DisplayHintType
Geaccepteerde waarden:Date, Time, DateTime
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Format

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

Zie Aangepaste datum- en tijdnotatietekenreeksen voor een lijst met beschikbare .NET-indelingsaanduidingen.

Wanneer de parameter Format wordt gebruikt, Get-Date worden alleen de eigenschappen van het DateTime-object opgehaald 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 extra indelingen gebruiken als waarden voor de parameter Format .

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

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

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

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

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Hour

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

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Millisecond

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

Deze parameter is geïntroduceerd in PowerShell 3.0.

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Month

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

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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, en %d%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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Aliassen:UnixTime
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Year

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

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

DateTime

U kunt een DateTime-object doorsluisen naar deze cmdlet.

Uitvoerwaarden

DateTime

Deze cmdlet retourneert standaard een DateTime-object .

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

Hiermee ToString() wordt een DateTime-object geconverteerd naar een tekenreeks met behulp van de huidige cultuurinstelling. De interpretatie van powerShell-expressies maakt echter altijd gebruik van de instelling voor invariante cultuur. Zie voorbeeld 11 om te zien hoe de 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- 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 deze is niet beschikbaar in Windows PowerShell 5.1 of ouder. Houd dit in gedachten wanneer u UFormat-aanduidingen gebruikt in scripts die zijn ontworpen om te worden uitgevoerd in meerdere versies van PowerShell.

Opmaakaanduiding Betekenis Opmerking
%A Dag van de week - volledige naam maandag
%a Dag van de week - verkorte naam Ma
%B Maandnaam - vol 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 Hetzelfde als 'G' - 2 cijfers
%H Uur in 24-uursnotatie 17
%h Hetzelfde als 'b'
%I Uur in 12-uursnotatie 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 nieuwlijnteken
%p AM of PM
%R Tijd in 24-uursnotatie - geen seconden 17:45
%r Tijd in indeling van 12 uur 09:15:36 uur
%S Seconden 05
%s Seconden verstreken sinds 1 januari 1970 00:00:00 (UTC) 1150451174
%t Horizontaal tabteken
%T Tijd in 24-uursnotatie 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 standaardindeling voor landinstellingen 06/27/19 voor Engels-US
%Y Jaar in 4-cijferige notatie 2019
%y Jaar in tweecijferige notatie 19
%Z Tijdzone-verschuiving 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 breukdeel).