Get-Date
Hämtar aktuellt datum och tid.
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
Cmdleten Get-Date
hämtar ett DateTime-objekt som representerar det aktuella datumet eller ett datum som du anger. Get-Date
kan formatera datum och tid i flera .NET- och UNIX-format. Du kan använda Get-Date
för att generera en datum- eller tidsteckensträng och sedan skicka strängen till andra cmdletar eller program.
Get-Date
använder operativsystemets aktuella kulturinställningar för att avgöra hur utdata formateras. Om du vill visa datorns inställningar använder du (Get-Culture).DateTimeFormat
.
Exempel
Exempel 1: Hämta aktuellt datum och tid
I det här exemplet Get-Date
visas det aktuella systemets datum och tid. Utdata är i formaten long-date och long-time.
Get-Date
Tuesday, June 25, 2019 14:53:32
Exempel 2: Hämta element för aktuellt datum och tid
Det här exemplet visar hur du använder Get-Date
för att hämta antingen datum- eller tidselementet. Parametern använder argumenten Datum, Tid eller DateTime.
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date
använder parametern DisplayHint med argumentet Datum för att bara hämta datumet.
Exempel 3: Hämta datum och tid med en .NET-formatspecificerare
I det här exemplet används en .NET-formatspecificerare för att anpassa utdataformatet. Utdata är ett Strängobjekt .
Get-Date -Format "dddd MM/dd/yyyy HH:mm K"
Tuesday 06/25/2019 16:17 -07:00
Get-Date
använder parametern Format för att ange flera formatspecificerare.
De .NET-formatspecificerare som används i det här exemplet definieras på följande sätt:
Specificerare | Definition |
---|---|
dddd |
Veckodag – fullständigt namn |
MM |
Månadsnummer |
dd |
Dag i månaden – 2 siffror |
yyyy |
År i fyrsiffrigt format |
HH:mm |
Tid i 24-timmarsformat – inga sekunder |
K |
Tidszonsförskjutning från UTC (Universal Time Coordinate) |
Mer information om .NET-formatsspecificerare finns i Anpassade datum- och tidsformatsträngar.
Exempel 4: Hämta datum och tid med en UFormat-specificerare
I det här exemplet används flera UFormat-formatspecificerare för att anpassa utdataformatet. Utdata är ett Strängobjekt .
Get-Date -UFormat "%A %m/%d/%Y %R %Z"
Tuesday 06/25/2019 16:19 -07
Get-Date
använder UFormat-parametern för att ange flera formatspecificerare.
De UFormat-formatspecificerare som används i det här exemplet definieras på följande sätt:
Specificerare | Definition |
---|---|
%A |
Veckodag – fullständigt namn |
%m |
Månadsnummer |
%d |
Dag i månaden – 2 siffror |
%Y |
År i fyrsiffrigt format |
%R |
Tid i 24-timmarsformat – inga sekunder |
%Z |
Tidszonsförskjutning från UTC (Universal Time Coordinate) |
En lista över giltiga UFormat-formatspecificerare finns i avsnittet Anteckningar .
Exempel 5: Hämta ett datums dag på året
I det här exemplet används en egenskap för att hämta den numeriska dagen på året.
Den gregorianska kalendern har 365 dagar, förutom skottår som har 366 dagar. Till exempel är 31 december 2020 dag 366.
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date
använder tre parametrar för att ange datumet: År, Månad och Dag. Kommandot är omslutet med parenteser så att resultatet utvärderas av egenskapen DayofYear .
Exempel 6: Kontrollera om ett datum har justerats för sommartid
I det här exemplet används en boolesk metod för att kontrollera om ett datum justeras efter sommartid.
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
En variabel som $DST
lagrar resultatet av Get-Date
. $DST
använder metoden IsDaylightSavingTime för att testa om datumet justeras för sommartid.
Exempel 7: Konvertera den aktuella tiden till UTC-tid
I det här exemplet konverteras den aktuella tiden till UTC-tid. UTC-förskjutningen för systemets nationella inställningar används för att konvertera tiden. En tabell i avsnittet Anteckningar visar en lista över giltiga UFormat-formatspecificerare .
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
använder UFormat-parametern med formatspecificerare för att visa det aktuella systemets datum och tid. Formatspecificeraren %Z representerar UTC-förskjutningen -07.
Variabeln $Time
lagrar det aktuella systemets datum och tid. $Time
ToUniversalTime()
använder metoden för att konvertera tiden baserat på datorns UTC-förskjutning.
Exempel 8: Skapa en tidsstämpel
I det här exemplet skapar en formatspecificerare ett tidsstämpelsträngsobjekt för ett katalognamn. Tidsstämpeln innehåller förskjutningen datum, tid och 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
Variabeln $timestamp
lagrar resultatet av ett Get-Date
kommando. Get-Date
använder parametern Format med formatspecificeraren för gemener o
för att skapa ett tidsstämpelsträngsobjekt. Objektet skickas ned i pipelinen till ForEach-Object
. En ScriptBlock innehåller variabeln $_
som representerar det aktuella pipelineobjektet. Tidsstämpelsträngen avgränsas av kolon som ersätts av punkter.
New-Item
använder parametern Sökväg för att ange platsen för en ny katalog. Sökvägen innehåller variabeln $timestamp
som katalognamn. Parametern Type anger att en katalog skapas.
Exempel 9: Konvertera en Unix-tidsstämpel
Det här exemplet konverterar en Unix-tid (representeras av antalet sekunder sedan 1970-01-01 0:00:00) till DateTime.
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
Exempel 10: Returnera ett datumvärde tolkat som UTC
Det här exemplet visar hur du tolkar ett datumvärde som dess UTC-motsvarighet. Till exempel är den här datorn inställd på Pacific Standard Time. Som standard Get-Date
returnerar värden för den tidszonen. Använd Parametern AsUTC för att konvertera värdet till UTC-motsvarande tid.
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
Exempel 11: Visa invariant kultur
Konverterar ToString()
ett DateTime-objekt till en sträng med den aktuella kulturinställningen.
PowerShell-uttryckstolkning använder dock alltid den invarianta kulturinställningen.
I ett system med kulturen en-US
i praktiken ToString()
formaterar metoden till exempel datumet med hjälp av en-US
kulturinställningarna.
# 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
Parametrar
-AsUTC
Konverterar datumvärdet till motsvarande tid i UTC.
Den här parametern introducerades i PowerShell 7.1.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Date
Anger datum och tid. Tiden är valfri och returnerar 00:00:00 om den inte anges. Ange datum och tid i ett format som är standard för det valda språket. Du kan ändra det aktuella språket med hjälp av cmdleten Set-Culture
.
Till exempel på engelska i USA:
Get-Date -Date "6/25/2019 12:30:22"
returnerar tisdag 25 juni 2019 12:30:22
Typ: | DateTime |
Alias: | LastWriteTime |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Day
Anger den dag i månaden som visas. Ange ett värde från 1 till 31.
Om det angivna värdet är större än antalet dagar i en månad lägger PowerShell till antalet dagar i månaden. Visar till exempel Get-Date -Month 4 -Day 31
1 maj, inte 31 april.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DisplayHint
Avgör vilka element i datum och tid som visas.
De godkända värdena är följande:
- Datum: visar endast datumet
- Tid: visar bara tiden
- DateTime: visar datum och tid
Typ: | DisplayHintType |
Godkända värden: | Date, Time, DateTime |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Format
Visar datum och tid i Microsoft .NET Framework-format som anges av formatspecificeraren. Parametern Format matar ut ett Strängobjekt .
En lista över tillgängliga .NET-formatsspecificerare finns i Anpassade datum- och tidsformatsträngar.
När parametern Format används Get-Date
hämtar endast DateTime-objektets egenskaper som krävs för att visa datumet. Därför kanske vissa av egenskaperna och metoderna för DateTime-objekt inte är tillgängliga.
Från och med PowerShell 5.0 kan du använda följande ytterligare format som värden för parametern Format .
FileDate. En fil eller sökvägsvänlig representation av det aktuella datumet i lokal tid. Formatet är
yyyyMMdd
(skiftlägeskänsligt, med ett 4-siffrigt år, en 2-siffrig månad och en 2-siffrig dag). Till exempel: 20190627.FileDateUniversal. En fil eller sökvägsvänlig representation av det aktuella datumet i universell tid (UTC). Formatet är
yyyyMMddZ
(skiftlägeskänsligt, med ett 4-siffrigt år, en 2-siffrig månad, en 2-siffrig dag och bokstavenZ
som UTC-indikator). Till exempel: 20190627Z.FileDateTime. En fil eller sökvägsvänlig representation av aktuellt datum och tid i lokal tid, i 24-timmarsformat. Formatet är
yyyyMMddTHHmmssffff
(skiftlägeskänsligt, med ett 4-siffrigt år, 2-siffrigt månad, 2-siffrigt dag, bokstavenT
som en tidsavgränsare, 2-siffrig timme, 2-siffrig minut, 2-siffrig sekund och 4-siffrig millisekunder). Exempel: 20190627T0840107271.FileDateTimeUniversal. En fil eller sökvägsvänlig representation av aktuellt datum och tid i universell tid (UTC) i 24-timmarsformat. Formatet är
yyyyMMddTHHmmssffffZ
(skiftlägeskänsligt, med ett 4-siffrigt år, 2-siffrigt månad, 2-siffrigt dag, bokstavenT
som en tidsavgränsare, 2-siffrig timme, 2-siffrig minut, 2-siffrig sekund, 4-siffrig millisekunder och bokstavenZ
som UTC-indikator). Exempel: 20190627T1540500718Z.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Hour
Anger den timme som visas. Ange ett värde från 0 till 23.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Millisecond
Anger millisekunderna i datumet. Ange ett värde från 0 till 999.
Den här parametern introducerades i PowerShell 3.0.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Minute
Anger den minut som visas. Ange ett värde från 0 till 59.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Month
Anger den månad som visas. Ange ett värde från 1 till 12.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Second
Anger den andra som visas. Ange ett värde från 0 till 59.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UFormat
Visar datum och tid i UNIX-format. UFormat-parametern matar ut ett strängobjekt.
UFormat-specificerare föregås av ett procenttecken (%
), till exempel %m
, %d
, och %Y
. Avsnittet Anteckningar innehåller en tabell med giltiga UFormat-specificerare.
När UFormat-parametern används Get-Date
hämtar endast DateTime-objektets egenskaper som krävs för att visa datumet. Därför kanske vissa av egenskaperna och metoderna för DateTime-objekt inte är tillgängliga.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UnixTimeSeconds
Datum och tid representeras i sekunder sedan den 1 januari 1970, 0:00:00.
Den här parametern introducerades i PowerShell 7.1.
Typ: | Int64 |
Alias: | UnixTime |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Year
Anger det år som visas. Ange ett värde från 1 till 9999.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka ett DateTime-objekt till den här cmdleten.
Utdata
Som standard returnerar den här cmdleten ett DateTime-objekt .
När ett DateTime-objekt skickas ned pipelinen till en cmdlet, till exempel Add-Content
som förväntar sig strängindata, konverterar PowerShell objektet till ett Strängobjekt .
Konverterar ToString()
ett DateTime-objekt till en sträng med den aktuella kulturinställningen.
PowerShell-uttryckstolkning använder dock alltid den invarianta kulturinställningen. Information om hur invariant kultur skiljer sig åt finns i Exempel 11.
Om du vill visa ett objekts egenskaper och metoder skickar du objektet nedåt i pipelinen till Get-Member
.
Exempel: Get-Date | Get-Member
När du använder parametrarna Format eller UFormat returnerar den här cmdleten Strängobjekt.
Kommentarer
Standardformaten för utdata från DateTime-objekt är långa datum- och långtidsformat för det valda språket.
Giltiga UFormat-specificerare visas i följande tabell:
Viktigt!
UFormat-specificerare ändras eller läggs till i nyare versioner av PowerShell. Till exempel %F
har lagts till i PowerShell 6.2, så det är inte tillgängligt i Windows PowerShell 5.1 eller äldre. Tänk på detta när du använder UFormat-specificerare i skript som är utformade för att köras på flera versioner av PowerShell.
Formatspecificerare | Innebörd | Exempel |
---|---|---|
%A |
Veckodag – fullständigt namn | Måndag |
%a |
Veckodag – förkortat namn | Mån |
%B |
Månadsnamn – fullständigt | Januari |
%b |
Månadsnamn – förkortat | Jan |
%C |
Århundrade | 20 för 2019 |
%c |
Datum och tid – förkortat | Tor jun 27 08:44:18 2019 |
%D |
Datum i formatet mm/dd/yy | 06/27/19 |
%d |
Dag i månaden – 2 siffror | 05 |
%e |
Dag i månaden – föregås av ett blanksteg om bara en enda siffra | <blanksteg>5 |
%F |
Datum i YYYY-mm-dd-format, lika med %Y-%m-%d (ISO 8601-datumformatet) | 2019-06-27 |
%G |
ISO-veckans datumår (år som innehåller torsdagen i veckan) | |
%g |
Samma som "G" – 2 siffror | |
%H |
Timme i 24-timmarsformat | 17 |
%h |
Samma som "b" | |
%I |
Timme i 12-timmarsformat | 05 |
%j |
Årets dag | 1-366 |
%k |
Samma som "H" | |
%l |
Samma som "I" (versaler I) | 05 |
%M |
Minuter | 35 |
%m |
Månadsnummer | 06 |
%n |
newline-tecken | |
%p |
AM eller PM | |
%R |
Tid i 24-timmarsformat – inga sekunder | 17:45 |
%r |
Tid i 12-timmarsformat | 09:15:36 |
%S |
Sekunder | 05 |
%s |
Sekunder har gått sedan den 1 januari 1970 00:00:00 (UTC) | 1150451174 |
%t |
Vågrätt fliktecken | |
%T |
Tid i 24-timmarsformat | 17:45:52 |
%U |
Samma som "W" | |
%u |
Numerisk veckodag (1–7) (ändrat i PowerShell 7.2) | Måndag = 1, söndag = 7 |
%V |
Veckan på året | 01-53 |
%w |
Numerisk dag i veckan (0–6) | Söndag = 0, lördag = 6 |
%W |
Veckan på året | 00-52 |
%X |
Samma som "T" | |
%x |
Datum i standardformat för nationella inställningar | 06/27/19 för english-US |
%Y |
År i fyrsiffrigt format | 2019 |
%y |
År i tvåsiffrigt format | 19 |
%Z |
Tidszonsförskjutning från UTC (Universal Time Coordinate) | -07 |
Kommentar
Beteendet -UFormat %s
för ändrades för att åtgärda problem med beteendet i Windows PowerShell.
- Returvärdet baseras på UTC-tid.
- Värdet är ett helt antal sekunders värde (ingen bråkdel).