Dela via


Get-Date

Hämtar aktuellt datum och tid.

Syntax

Get-Date
   [[-Date] <datetime>]
   [-Year <int>]
   [-Month <int>]
   [-Day <int>]
   [-Hour <int>]
   [-Minute <int>]
   [-Second <int>]
   [-Millisecond <int>]
   [-DisplayHint <DisplayHintType>]
   [-Format <string>]
   [<CommonParameters>]
Get-Date
   [[-Date] <datetime>]
   [-Year <int>]
   [-Month <int>]
   [-Day <int>]
   [-Hour <int>]
   [-Minute <int>]
   [-Second <int>]
   [-Millisecond <int>]
   [-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 datorns 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 visar Get-Date 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 Date, Timeeller DateTime.

Get-Date -DisplayHint Date

Tuesday, June 25, 2019

Get-Date använder parametern DisplayHint med argumentet Date för att endast 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 String-objekt.

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 -no 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 String-objekt.

Get-Date -UFormat "%A %m/%d/%Y %R %Z"

Tuesday 06/25/2019 16:19 -07

Get-Date använder parametern UFormat 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 -no 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: Year, Monthoch Day. 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 parametern UFormat med formatspecificerare för att visa det aktuella systemets datum och tid. Formatspecificeraren %Z representerar UTC-förskjutningen för -07.

Variabeln $Time lagrar det aktuella systemets datum och tid. $Time använder metoden ToUniversalTime() 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 en tidsstämpel String-objekt 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ämpelobjekt String. Objektet skickas ned i pipelinen för att 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 Path 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.

Parametrar

-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 systemspråket.

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. Till exempel visar Get-Date -Month 2 -Day 313 mars, inte 31 februari.

Typ:Int
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
  • Time: 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 String-objekt.

En lista över tillgängliga .NET-formatsspecificerare finns i Anpassade datum- och tidsformatsträngar.

När parametern Format används hämtar Get-Date bara DateTime- objektegenskaper 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 bokstaven Z 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, bokstaven T 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, bokstaven T som en tidsavgränsare, 2-siffrig timme, 2-siffrig minut, 2-siffrig sekund, 4-siffrig millisekunder och bokstaven Z 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:Int
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:Int
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:Int
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:Int
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:Int
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UFormat

Visar datum och tid i UNIX-format. Parametern UFormat matar ut ett strängobjekt.

UFormat-specificerare föregås av ett procenttecken (%), till exempel %m, %doch %Y. Avsnittet Notes innehåller en tabell med giltiga UFormat-specificerare.

När parametern UFormat används hämtar Get-Date endast DateTime- objektegenskaper 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

-Year

Anger det år som visas. Ange ett värde från 1 till 9999.

Typ:Int
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

Pipeline input

Get-Date accepterar pipelineindata. Till exempel Get-ChildItem | Get-Date.

Utdata

System.DateTime or System.String

Get-Date returnerar ett DateTime--objekt förutom när parametrarna Format och UFormat används. Parametrarna Format eller UFormat returnerar String-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 String-objekt.

Metoden (Get-Date).ToString() konverterar ett DateTime- objekt till ett String-objekt.

Om du vill visa ett objekts egenskaper och metoder skickar du objektet nedåt i pipelinen för att Get-Member. Till exempel Get-Date | Get-Member.

Kommentarer

DateTime- objekt är i långa datum- och tidsformat för systemspråket.

Giltiga UFormat-specificerare visas i följande tabell:

Formatspecificerare Betydelse 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 – siffra föregås av ett blanksteg <utrymme>5
%F Datum i ÅÅÅÅ-mm-dd format, lika med %Y–%m–%d (ISO 8601-datumformat) 2019-06-27
%G Samma som "Y"
%g Samma som "y"
%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 Protokoll 35
%m Månadsnummer 06
%n newline-tecken
%p AM eller PM
%R Tid i 24-timmarsformat -no 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 1150451174.95705
%t Vågrätt fliktecken
%T Tid i 24-timmarsformat 17:45:52
%U Samma som "W"
%u Veckodag - nummer Måndag = 1
%V Veckan på året 01-53
%w Samma som "u"
%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