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-Date
gebruikt 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 letterZ
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 letterT
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 letterT
als tijdscheidingsteken, 2-cijferig uur, 2-cijferige seconde, 4-cijferige milliseconden en de letterZ
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
U kunt een DateTime-object doorsluisen naar deze cmdlet.
Uitvoerwaarden
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
.
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).