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>]
   [<CommonParameters>]
Get-Date
   [[-Date] <DateTime>]
   [-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: 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

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

Type:String
Position:Named
Default value:None
Vereist:False
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 9 als u wilt 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
%G Hetzelfde als 'Y'
%g Hetzelfde als 'y'
%H Uur in 24-uursnotatie 17
%h Hetzelfde als 'b'
%I Uur in 12-uursnotatie 05
%j Dag van het jaar (bevat geen voorloop- 0 vast in PowerShell 6+) 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 (geconverteerd naar lokale tijd) 1150451174.95705
%t Horizontaal tabteken
%T Tijd in 24-uursnotatie 17:45:52
%U Hetzelfde als 'W'
%u Dag van de week - nummer Zondag = 0
%V Week van het jaar 01-53
%w Hetzelfde als 'u'
%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 Windows PowerShell met Get-Date -UFormat %s is in twee opzichten onjuist:

  • De retourwaarde is gebaseerd op lokale tijd in plaats van UTC-tijd.
  • De tekenreeksweergave van de secondenwaarde heeft een breukdeel. De uitvoer is cultuurgevoelig met betrekking tot het decimaalteken.

Dit gedrag is opgelost in PowerShell 6 en hoger.