使用 PowerShell 獲取日期和時間
- 在 PowerShell 中獲取日期和時間
- 在 PowerShell 中使用 DateTime 方法的日期運算
- 在 PowerShell 中比較日期
- 在 PowerShell 中將字串轉換為 DateTime 物件
-
PowerShell 中的
日期時間
方法 -
在 PowerShell 中格式化
DateTime
物件
PowerShell 可以做很多事情,並且像任何合適的程式語言一樣,它幾乎可以做任何我們想要的日期和時間。使用 Windows PowerShell Get-Date
cmdlet 和其他技術,你可以找到今天的日期、明天的日期、格式化日期等。
本文將解釋我們如何獲取當前日期和時間以及 DateTime
物件如何在 PowerShell 中工作。
在 PowerShell 中獲取日期和時間
使用 Windows PowerShell 發現當前日期和時間的方法之一是使用 Get-Date
命令。此 cmdlet 顯示當前日期和時間。
Get-Date
輸出:
Wednesday, 9 March 2022 8:14:34 pm
預設情況下,Get-Date
命令看起來只返回當前日期和時間,但實際上,它會產生更多資訊。要查詢此資訊,請通過管道輸出下方的 Format-List
cmdlet。
Get-Date | Format-List
輸出:
DisplayHint : DateTime
Date : 08/03/2022 12:00:00 am
Day : 8
DayOfWeek : Wednesday
DayOfYear : 68
Hour : 20
Kind : Local
Millisecond : 671
Minute : 18
Month : 3
Second : 1
Ticks : 637824538816714508
TimeOfDay : 20:18:01.6714508
Year : 2022
DateTime : Wednesday, 9 March 2022 8:18:01 pm
你還可以使用 Get-Member
命令通過執行 Get-Date | 查詢所有物件屬性。獲取成員
命令。
如果我們檢查物件的型別 Get-Date | Get-Member
返回時,你會注意到 System.DateTime
物件型別。這個類公開了我們看到的所有屬性和方法。
我們可以使用下面的命令來發現它的物件型別。
(Get-Date).GetType().FullName
輸出:
System.DateTime
一旦我們看到所有可用的屬性,我們就可以用點 (.)
表示法來引用它們,如下所示。
(Get-Date).Year
(Get-Date).DayOfWeek
(Get-Date).Month
(Get-Date).DayOfYear
輸出:
2022
Wednesday
3
68
在 PowerShell 中使用 DateTime 方法的日期運算
Get-Date
返回的 System.DateTime
物件具有各種方法,你可以呼叫這些方法來新增或刪除時間塊。例如,如果我們執行 Get-Date | Get-Member
,我們將看到以 Add
開頭的不同技術。
Get-Date | Get-Member | Where {$_.Name -like "Add*"}
輸出:
TypeName: System.DateTime
Name MemberType Definition
---- ---------- ----------
Add Method datetime Add(timespan value)
AddDays Method datetime AddDays(double value)
AddHours Method datetime AddHours(double value)
AddMilliseconds Method datetime AddMilliseconds(double value)
AddMinutes Method datetime AddMinutes(double value)
AddMonths Method datetime AddMonths(int months)
AddSeconds Method datetime AddSeconds(double value)
AddTicks Method datetime AddTicks(long value)
AddYears Method datetime AddYears(int value)
你將在以下命令中看到一些呼叫這些方法及其輸出的內容。
#Adding 8 days to the current date
(Get-Date).AddDays(8)
#Adding 3 hours to the current time
(Get-Date).AddHours(3)
#Adding five years to the current date
(Get-Date).AddYears(5)
#Subtracting 7 days from the current date using a negative number.
(Get-Date).AddDays(-7)
輸出:
Thursday, 17 March 2022 8:28:57 pm
Wednesday, 9 March 2022 11:28:57 pm
Tuesday, 9 March 2027 8:28:57 pm
Tuesday, 1 March 2022 8:28:57 pm
在 PowerShell 中比較日期
你還可以使用標準 PowerShell 運算子比較日期。例如,PowerShell 知道日期何時小於
(早於)或大於
(晚於)另一個日期。
要比較日期,請使用 Get-Date
建立兩個 DateTime
物件,或者使用 [DateTime]
轉換字串,然後使用標準 PowerShell 運算子,如 -lt
或 -gt
。我們可以在下面看到一個比較日期的簡單示例。
#Declaring the date
$Date1 = (Get-Date -Month 10 -Day 14 -Year 2021)
$Date2 = Get-Date
$Date1 -lt $Date2
輸出:
True
在 PowerShell 中將字串轉換為 DateTime 物件
要將字串變數轉換為 DateTime
物件,請在字串(或變數)前加上 [DateTime]
資料型別。當我們這樣做時,Windows PowerShell 會嘗試將字串解釋為日期和時間,然後提供此物件型別上可用的所有屬性和方法。
$Date = "2020-09-07T13:35:08.4780000Z"
[DateTime]$Date
輸出:
Monday, 7 September 2020 5:35:08 pm
PowerShell 中的日期時間
方法
操縱 DateTime
物件如何在控制檯中顯示的一種方法是對 DateTime
物件使用多種方法。DateTime
物件有四種方法來操作格式。
ToLongDateString()
ToShortDateString()
ToLongTimeString()
ToShortTimeString()
讓我們看一個使用 ToShortDateString()
和 ToShortTimeString()
方法的示例。
[DateTime]$Date = $Date
$date.ToShortDateString() + " " + $date.ToShortTimeString()
輸出:
9/7/2020 7:05 PM
在 PowerShell 中格式化 DateTime
物件
要更改 DateTime
物件的日期和時間格式,請使用 Get-Date
命令生成物件並使用 -Format
引數更改佈局。 -Format
引數接受字串,表示日期/時間字串的外觀。
Get-Date -Format "dddd dd-MM-yyyy HH:mm K"
輸出:
Wednesday 09-03-2022 21:21 +04:00
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn