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-Date
opgeslagen. $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-Date
gebruikt 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 31
1 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 letterZ
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 letterT
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 letterT
als tijdscheidingsteken, een uur van 2 cijfers, een minuut van 2 cijfers, een seconde van 2 cijfers, een milliseconde van 4 cijfers en de letterZ
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
, %d
en %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
U kunt een DateTime-object doorsnijden naar deze cmdlet.
Uitvoerwaarden
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
.
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).