取得目前日期和時間。

語法

Get-Date [-Format <string>] [[-日期] <DateTime>] [-Day <int>] [-DisplayHint {<Date> | <Time> | <DateTime>}] [-Hour <int>] [-Minute <int>] [-Month <int>] [-Second <int>] [-Year <int>] [<CommonParameters>]

Get-Date [-UFormat <string>] [[-日期] <DateTime>] [-Day <int>] [-DisplayHint {<Date> | <Time> | <DateTime>}] [-Hour <int>] [-Minute <int>] [-Month <int>] [-Second <int>] [-Year <int>] [<CommonParameters>]

描述

Get-Date Cmdlet 會取得代表目前日期或所指定之日期的 DateTime 物件。此 Cmdlet 能以多種 Windows 和 UNIX 格式來設定日期和時間格式。您可以使用 Get-Date 產生日期或時間字元字串,然後將字串傳送給其他 Cmdlet 或程式。

參數

-日期 <DateTime>

指定日期和時間。根據預設,Get-Date 會取得系統目前的日期和時間。

請以系統地區設定的標準格式來輸入日期,例如 dd-MM-yyyy (德文 [德國]) 或 MM/dd/yyyy (英文 [美國])。

必要?

false

位置?

1

預設值

接受管線輸入?

true (ByValue, ByPropertyName)

接受萬用字元?

false

-Day <int>

指定要顯示的當月日期。請輸入 1 至 31 之間的一個值,顯示這個值可代替當天日期。

如果指定的值大於當月天數,Windows PowerShell 會累加當月天數並顯示結果。例如,"get-date -month 2 -day 31" 會顯示「3 月 3 日」而非「2 月 31 日」。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-DisplayHint <DisplayHintType>

決定所要顯示的日期和時間元素

有效的值包括:

-- Date:僅顯示日期

-- Time:僅顯示時間

-- DateTime:顯示日期和時間

預設為 DateTime。

這個參數不會影響 Get-Date 所擷取的 DateTime 物件。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Format <string>

顯示格式規範所指示之 Microsoft .NET Framework 格式的日期和時間。請輸入格式規範。如需可用的格式規範清單,請參閱 MSDN (Microsoft Developer Network) Library (https://go.microsoft.com/fwlink/?LinkId=143638) 中的<DateTimeFormatInfo 類別>(英文)。

當您使用 Format 參數時,Windows PowerShell 只會擷取顯示指定之格式日期所需的 DateTime 物件屬性。因此,DateTime 物件的部分屬性和方法可能無法使用。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Hour <int>

指定要顯示的小時。請輸入 1 至 23 之間的一個值,顯示這個值可代替目前小時。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Minute <int>

指定要顯示的分鐘。請輸入 1 至 59 之間的一個值。顯示這個值可代替目前分鐘。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Month <int>

指定要顯示的月份。請輸入 1 至 12 之間的一個值。顯示這個值可代替目前月份。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Second <int>

指定要顯示的秒。請輸入 1 至 59 之間的一個值。顯示這個值可代替目前秒數。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-UFormat <string>

顯示 UNIX 格式的日期和時間。如需格式規範的清單,請參閱 Notes 區段。

當您使用 UFormat 參數時,Windows PowerShell 只會擷取顯示指定之格式日期所需的 DateTime 物件屬性。因此,DateTime 物件的部分屬性和方法可能無法使用。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Year <int>

指定要顯示的年份。請輸入 1 至 9999 之間的一個值。顯示這個值可代替目前年份。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

您無法經由管道將輸入輸出至這個 Cmdlet。

輸出

System.DateTime 或 System.String

當您使用 Format 或 UFormat 參數時,輸出物件為 System.String。

附註

根據預設,會以系統地區設定的完整日期和完整時間格式來顯示日期時間。

當您經由管道將物件輸出至 Add-Content 這類只接受字串輸入的 Cmdlet 時,Windows PowerShell 會將 DateTime 物件轉換成字串後才將它新增到檔案中。預設的 ToString() 格式為簡短日期和完整時間。若要指定其他格式,請使用 Get-Date 的 Format 或 UFormat 參數。

Uformat 值:

下列是 UFormat 參數的值。命令的格式如下:

get-date -uformat %<值>

例如,

get-date -uformat %d

日期時間:

完整的日期和時間

(預設) (2006 年 6 月 16 日 星期五 上午 10:31:27)

c 簡短的日期和時間 (星期五 六月 16 16 10:31:27 2006)

日期:

D mm/dd/yy 格式的日期 (06/14/06)

x 地區設定中的標準格式日期 (「英文-美國」的 09/12/07)

年:

C 世紀 (2006 的 20)

Y 4 位數格式的年份 (2006)

y 2 位數格式的年份 (06)

G 如同 'Y'

g 如同 'y'

月:

b 縮寫的月份名稱 (Jan)

B 完整月份名稱 (January)

h 如同 'b'

m 月份 (06)

週:

W 年中的週 (00-52)

V 年中的週 (01-53)

U 如同 'W'

日:

a 星期幾 - 縮寫名稱 (Mon)

A 星期幾 - 完整名稱 (Monday)

u 星期幾 - 數字 (星期一 = 1)

d 月中的日 - 2 位數 (05)

e 月中的日 - 數字前加上空格 ( 5)

j 年中的日 - (1-366)

w 如同 'u'

時間:

p 上午或下午

r 12 小時制時間 (上午 09:15:36)

R 24 小時制時間 - 沒有秒 (17:45)

T 24 小時制時間 (17:45:52)

X 如同 'T'

Z 與世界標準時間 (UTC) 的時區時差 (-07)

小時:

H 24 小時制的小時 (17)

I 12 小時制的小時 (05)

k 如同 'H'

l 如同 'I' (大寫 I = 小寫 L)

分鐘及秒:

M 分鐘數 (35)

S 秒數 (05)

s 自 1970 年 1 月 1 日 00:00:00 起經過的秒數 (1150451174.95705)

特殊字元:

n 新行字元 (\n)

t 定位字元 (\t)

範例 1

C:\PS>get-date -DisplayHint date

Tuesday, June 13, 2006

描述
-----------
這個命令會擷取 DateTime 物件,但是只顯示日期。它會使用 DisplayHint 參數,表示只要顯示日期。






範例 2

C:\PS>get-date -format g

6/13/2006 12:43 PM

描述
-----------
這個命令會擷取目前的日期和時間,並使用簡短日期和簡短時間格式加以格式化。它會使用 .NET Framework "g" 格式規範 (General [簡短日期和簡短時間]) 來指定格式。






範例 3

C:\PS>get-date -uformat "%Y / %m / %d / %A / %Z"

2006 / 06 / 13 / Tuesday / -07

描述
-----------
這個命令會擷取目前的日期和時間,並依照命令的指定加以格式化。在此例中,格式包含完整年份 (%Y)、兩位數的數字月份 (%m)、日期 (%d)、完整的星期幾 (%A) 以及與 UTC 的時差 ("Zulu")。






範例 4

C:\PS>(get-date -year 2000 -month 12 -day 31).dayofyear

366

描述
-----------
這個命令顯示目前日期為當年的第幾日。例如,12 月 31 日是 2006 年的第 365 日,然而是 2000 年的第 366 日。






範例 5

C:\PS>$a = get-date

C:\PS> $a.IsDaylightSavingTime()

True

描述
-----------
這些命令會告訴您目前的日期和時間是否已調整為目前地區設定中的日光節約時間,

第一個命令會建立 $a 變數,然後將 Get-Date 擷取的物件指派給 $a 變數。接著它會在 $a 中的物件上使用 IsDaylightSavingTime 方法。

若要查看 DateTime 物件的屬性和方法,請輸入:
 "get-date | get-member".






範例 6

C:\PS>$a = get-date

C:\PS> $a.ToUniversalTime()

Tuesday, June 13, 2006 8:09:19 PM

描述
-----------
這些命令將目前的日期和時間轉換為 UTC 時間,

第一個命令會建立 $a 變數,然後將 Get-Date 擷取的物件指派給 $a 變數。接著,它會在 $a 中的物件上使用 ToUniversalTime 方法。






範例 7

C:\PS>$a = get-wmiobject win32_bios -computer server01

$a | format-list -property Name, @{Label="BIOS Age"; `
Expression={(get-date) - $_.ConvertToDateTime($_.ReleaseDate)}}

Name     : Default System BIOS
BIOS Age : 1345.17:31:07.1091047

描述
-----------
Windows Management Instrumentation (WMI) 使用的日期時間物件與 Get-Date 傳回的 .NET Framework 日期時間物件不同。若要在命令中搭配來自 Get-Date 的日期時間資訊,與 WMI 中的日期時間資訊一起使用,您必須使用 ConvertToDateTime 方法,將 WMI CIM_DATETIME 物件轉換為 .NET Framework DateTime 物件。

此範例中的命令顯示遠端電腦 Server01 上的 BIOS 名稱及使用時間長度。

第一個命令使用 Get-WmiObject Cmdlet,在 Server01 上取得 Win32_BIOS 類別的執行個體,然後將它儲存在 $a 變數中。

第二個命令使用管線運算子 (|),將儲存在 $a 中的 WMI 物件傳送至 Format-List Cmdlet。Format-List 的 Property 參數用於指定兩個要顯示在清單中的屬性:"Name" 和 "BIOS Age"。"BIOS Age" 屬性是在雜湊表中指定的。此表格包含 Label 索引鍵 (指定屬性的名稱) 和 Expression 索引鍵 (內含計算 BIOS 使用時間長度的運算式)。此運算式使用 ConvertToDateTime 方法,將 ReleaseDate 的每個執行個體轉換為 .NET Framework DateTime 物件。接著,從 Get-Date Cmdlet 的傳回值 (不使用參數所取得的目前日期) 中減去這個值。

倒引號字元 (`) 在 Windows PowerShell 中代表一行的接續字元。






範例 8

C:\PS>get-date

Tuesday, June 13, 2006 12:43:42 PM

描述
-----------
這個命令會取得 DateTime 物件,並以系統地區設定的完整日期和完整時間格式來顯示目前的日期時間,如同輸入 "get-date -format F" 一樣。






範例 9

C:\PS>get-date

C:\PS> Tuesday, September 26, 2006 11:25:31 AM

c:\PS>(get-date).ToString()
9/26/2006 11:25:31 AM

C:\PS>get-date | add-content test.txt  
# Adds 9/26/2006 11:25:31 AM

C:\PS>get-date -format F | add-content test.txt
# Adds Tuesday, September 26, 2006 11:25:31 AM

描述
-----------
這些命令示範如何使用 Get-Date 搭配 Add-Content 與其他 Cmdlet,將 Get-Date 所產生的 DateTime 物件轉換成字串。

第一個命令會顯示 "get-date" 命令的預設顯示格式是完整日期和完整時間。

第二個命令顯示 DateTime 物件的 ToString() 方法的預設顯示格式是簡短日期和簡短時間。

第三個命令會使用管線運算子將 DateTime 物件傳送給 Add-Content Cmdlet,讓後者將內容新增到 Test.txt 檔案中。因為 Add-Content 使用 DateTime 物件的 ToString() 方法,因此所新增的日期是簡短日期和簡短時間格式。

第四個命令會使用 Get-Date 的 Format 參數指定格式。當您使用 Format 或 UFormat 參數時,Get-Date 會產生字串而非 DateTime 物件。所以,在將字串傳送給 Add-Content 時,它會直接將字串新增到 Test.txt 檔案而不做變更。






請參閱




目錄