$DST = Get-Date
$DST.IsDaylightSavingTime()
變數, $DST
儲存 的結果 Get-Date
。 $DST
會使用 IsDaylightSavingTime 方法來測試是否調整日光節約時間的日期。
範例 7:將目前時間轉換為 UTC 時間
在此範例中,目前時間會轉換成 UTC 時間。 系統會使用系統地區設定的 UTC 位移來轉換時間。 Notes區段中的資料表會列出有效的UFormat格式規範。
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
會使用具有格式規範的 UFormat 參數來顯示目前的系統日期和時間。 格式規範 %Z 代表 -07的 UTC 位移。
變數 $Time
會儲存目前的系統日期和時間。 $Time
會使用 ToUniversalTime () 方法來根據電腦的 UTC 位移來轉換時間。
範例 8:建立時間戳記
在此範例中,格式規範會建立目錄名稱的時間戳記 String 物件。 時間戳記包含日期、時間和 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
變數 $timestamp
會儲存命令的結果 Get-Date
。 Get-Date
會使用 Format 參數搭配小寫 o
的格式規範來建立時間戳記 String 物件。 物件會向下傳送至 ForEach-Object
管線。 ScriptBlock包含 $_
代表目前管線物件的變數。 時間戳記字串是以句號取代的冒號分隔。
New-Item
會使用 Path 參數來指定新目錄的位置。 路徑包含 $timestamp
變數做為目錄名稱。 Type參數會指定建立目錄。
範例 9:轉換 Unix 時間戳記
本範例會將從 1970-01-01-01 0:00:00) 起的秒數,將 Unix 時間 (轉換成 DateTime。
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
範例 10:傳回解譯為 UTC 的日期值
此範例示範如何將日期值解譯為其 UTC 對等專案。 例如,此電腦會設定為 Pacific Standard Time。 根據預設,會 Get-Date
傳回該時區的值。 使用 AsUTC 參數將值轉換為 UTC 對等時間。
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
PS> Get-Date -Date "2020-01-01T00:00:00" -AsUTC
Wednesday, January 1, 2020 8:00:00 AM
-AsUTC
將日期值轉換為 UTC 的對等時間。
此參數是在 PowerShell 7.1 中引進。
Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Date
指定日期和時間。 時間是選擇性的,如果未指定,則會傳回 00:00:00。
以系統地區設定標準格式輸入日期和時間。
例如,在美國英文中:
Get-Date -Date "6/25/2019 12:30:22"
會傳回星期二,2019 年 6 月 25 日 12:30:22
Type:DateTime
Aliases:LastWriteTime
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
指定要顯示的月份日期。 輸入從 1 到 31 的值。
如果指定的值大於月份中的天數,PowerShell 會將天數新增至月份。 例如, Get-Date -Month 2 -Day 31
顯示 3 月 3日,而不是 2 月 31 日。
Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DisplayHint
決定要顯示日期和時間的哪些元素。
接受的值如下所示:
日期:只顯示日期
時間:只顯示時間
DateTime:顯示日期和時間
使用格式規範所指定的 Microsoft .NET Framework 格式來顯示日期和時間。
Format參數會輸出String物件。
如需可用 .NET 格式規範的清單,請參閱 自訂日期和時間格式字串。
使用 Format 參數時, Get-Date
只會取得顯示日期所需的 DateTime 物件屬性。 如此一來,DateTime 物件的部分屬性和方法可能無法使用。
從 PowerShell 5.0 開始,您可以使用下列其他格式做為 Format 參數的值。
FileDate。 本機時間中目前日期的檔案或路徑易記標記法。 yyyyMMdd
格式 (區分大小寫,使用 4 位數年份、2 位數的月份和 2 位數的日期) 。 例如:20190627。
FileDateUniversal。 通用時間中目前日期的檔案或路徑易記標記法, (UTC) 。 yyyyMMddZ
格式 (區分大小寫,使用 4 位數年份、2 位數的月份、2 位數的日期,以及以 UTC 指標) 的字母 Z
。 例如:20190627Z。
FileDateTime。 以 24 小時格式表示目前日期和時間的檔案或路徑易記標記法。 格式 yyyyMMddTHHmmssffff
(區分大小寫,使用 4 位數年份、2 位數月份、2 位數的日、以時間分隔符號的字母 T
、2 位數小時、2 位數分鐘、2 位數秒和 4 位數毫秒) 。 例如:20190627T0840107271。
FileDateTimeUniversal。 通用時間 (UTC) 格式之目前日期和時間的檔案或路徑易記標記法。 格式 yyyyMMddTHHmmssffffZ
(區分大小寫,使用 4 位數年份、2 位數的月份、2 位數的日、以時間分隔符號的字母 T
、2 位數小時、2 位數分鐘、2 位數秒、4 位數毫秒,以及字母 Z
做為 UTC 指標) 。 例如:20190627T1540500718Z。
使用 UNIX 格式顯示日期和時間。 UFormat參數會輸出字串物件。
UFormat 規範前面加上百分比符號 () %
,例如 %m
、 %d
和 %Y
。 Notes區段包含有效的UFormat 規範資料表。
使用 UFormat 參數時, Get-Date
只會取得顯示日期所需的 DateTime 物件屬性。 如此一來,DateTime 物件的部分屬性和方法可能無法使用。
Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-UnixTimeSeconds
自 1970 年 1 月 1 日 0:00:00 起,以秒為單位表示的日期和時間。
此參數是在 PowerShell 7.1 中引進。
Type:Int64
Aliases:UnixTime
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Year
指定要顯示的年份。 輸入從 1 到 9999 的值。
Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
DateTime
您可以使用管線將 DateTime 物件傳送至此 Cmdlet。
DateTime
根據預設,此 Cmdlet 會傳回 DateTime 物件。
當 DateTime 物件將管線向下傳送至 Cmdlet,例如 Add-Content
預期字串輸入的 Cmdlet 時,PowerShell 會將物件轉換成 String 物件。
方法 (Get-Date).ToString()
會將 DateTime 物件轉換成 String 物件。
若要顯示物件的屬性和方法,請將物件向下傳送至 Get-Member
。
例如: Get-Date | Get-Member
。
String
當您使用 Format 或 UFormat 參數時,此 Cmdlet 會傳回 String 物件。
DateTime 物件是系統地區設定的長日期和時間格式。
下表顯示有效的 UFormat 規範 :
UFormat 規範會在較新版本的 PowerShell 中變更或新增。 例如, %F
已在 PowerShell 6.2 中新增,因此無法在 Windows PowerShell 5.1 或較舊版本中使用。 在設計為在多個 PowerShell 版本上執行的腳本中使用 UFormat 規範時,請記住這點。