使用 PowerShell 獲取日期和時間

Marion Paul Kenneth Mendoza 2023年1月30日 2022年5月16日
  1. 在 PowerShell 中獲取日期和時間
  2. 在 PowerShell 中使用 DateTime 方法的日期運算
  3. 在 PowerShell 中比較日期
  4. 在 PowerShell 中將字串轉換為 DateTime 物件
  5. PowerShell 中的日期時間方法
  6. 在 PowerShell 中格式化 DateTime 物件
使用 PowerShell 獲取日期和時間

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 物件有四種方法來操作格式。

  1. ToLongDateString()
  2. ToShortDateString()
  3. ToLongTimeString()
  4. 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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

相關文章 - PowerShell DateTime