如何在 PowerShell 中將字符串轉換為日期時間

  1. 使用 ParseExact 將字符串轉換為 PowerShell 中的 DateTime
  2. 使用顯式轉換將字符串轉換為 PowerShell 中的 DateTime
  3. 使用 Get-Date Cmdlet 將字符串轉換為 PowerShell 中的 DateTime
  4. 使用 Parse 將字符串轉換為 PowerShell 中的 DateTime
  5. 結論
如何在 PowerShell 中將字符串轉換為日期時間

將日期和時間的字符串表示轉換為 DateTime 對象是在 PowerShell 腳本中常見的任務,通常在處理來自不同來源或格式的數據時會遇到。在本技術指南中,我們探討了實現這一任務的各種方法,每種方法都提供其獨特的優勢。

ParseExact 方法的精確性到顯式的 [DateTime] 轉換的簡單性,以及 Get-Date Cmdlet 的多功能性,我們涵蓋了多種適合不同情境和偏好的方法。此外,我們深入研究了強大的 Parse 方法,提供詳細的解釋、語法和實用的代碼示例,以促進對每種方法的全面理解。

使用 ParseExact 將字符串轉換為 PowerShell 中的 DateTime

將日期和時間的字符串表示轉換為 DateTime 對象是在 PowerShell 腳本中常見的任務,特別是在處理來自各種來源或格式的數據時。一種實現此目的的方法是使用 ParseExact 方法,該方法允許您指定輸入字符串的確切格式,從而提供對轉換過程的更多控制。

$dateString = "2024-02-05"
$date = [datetime]::ParseExact($dateString, "yyyy-MM-dd", $null)
$date

在我們提供的 PowerShell 代碼片段中,我們利用 ParseExact 方法將日期的字符串表示 "2024-02-05" 轉換為 DateTime 對象。通過將輸入字符串的確切格式指定為 "yyyy-MM-dd",我們確保精確的轉換,不受系統日期設置或文化變化的影響。

生成的 DateTime 對象存儲在 $date 變量中,準確表示解析的日期,使其能夠無縫集成到後續操作中。當我們打印 $date 時,我們獲得預期的輸出,確認了成功的轉換。

輸出:

將字串轉換為 PowerShell 中的日期時間 - 輸出

使用顯式轉換將字符串轉換為 PowerShell 中的 DateTime

PowerShell 中的顯式 [DateTime] 方法是一種類型加速器,允許將字符串直接轉換為 DateTime 對象。當使用時,它指示 PowerShell 將提供的字符串解釋為 DateTime 值,而不需要額外的解析或格式化指令。

當輸入字符串遵循標準日期格式(例如 ISO 8601(例如,"YYYY-MM-DD"))時,此方法尤其有用,因為它簡化了轉換過程並增強了代碼可讀性。

$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date

在此提供的 PowerShell 代碼片段中,我們使用顯式的 [DateTime] 方法將字符串 "2024-02-05" 轉換為 DateTime 對象。通過簡單地將字符串變量 $dateString 指派給變量 $date 並使用 [DateTime] 類型加速器,PowerShell 自動將字符串轉換為 DateTime 對象。

當我們打印 $date 時,我們獲得預期的輸出,確認了成功的轉換。

輸出:

在 PowerShell 中將字串轉換為日期時間 - 輸出

使用 Get-Date Cmdlet 將字符串轉換為 PowerShell 中的 DateTime

在 PowerShell 中,Get-Date Cmdlet 不僅用於獲取當前的日期和時間,還用於將日期和時間的字符串表示轉換為 DateTime 對象。這種靈活性使得 Get-Date 成為處理 PowerShell 腳本中與日期相關操作的方便工具。

當提供字符串參數時,Get-Date 自動嘗試將其解析為 DateTime 對象,使得將各種格式的日期字符串轉換為標準的 DateTime 格式變得方便。

$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date

在給定的代碼片段中,我們有一個字符串變量 $dateString,其包含格式為 "YYYY-MM-DD" 的日期。利用 Get-Date Cmdlet,我們將該字符串轉換為 DateTime 對象並將其指派給變量 $date

我們依賴 Get-Date Cmdlet 自動解釋字符串 $dateString 作為日期並將其解析為相應的 DateTime 對象。

輸出:

將字串轉換為日期時間在 PowerShell - 輸出

使用 Parse 將字符串轉換為 PowerShell 中的 DateTime

在 PowerShell 中,Parse 方法是一種強大工具,用於將日期和時間的字符串表示轉換為 DateTime 對象。此方法提供了對解析過程的精確控制,允許用戶指定輸入字符串的確切格式。

通過明確定義格式,Parse 方法確保準確轉換,無論系統的區域設置或文化變化如何。

$dateString = "2024-02-05"
$date = [datetime]::Parse($dateString)
$date

在這個例子中,我們演示了如何使用 Parse 方法將日期的字符串表示轉換為 PowerShell 中的 DateTime 對象。通過在 [datetime] 類型加速器上調用 Parse 方法,我們解析輸入字符串 $dateString 並將結果存儲在變量 $date 中。

輸出:

將字串轉換為 powershell 中的日期時間 - 輸出

結論

PowerShell 提供幾種將字符串轉換為 DateTime 對象的方法,每種方法都滿足不同的需求和偏好。無論您需要利用 ParseExact 進行格式化的精確控制,還是使用顯式的 [DateTime] 轉換簡化流程,或是通過 Get-Date 進行自動解析,或者使用 Parse 進行細粒度的控制,PowerShell 提供了高效處理日期和時間操作所需的靈活性和功能。

通過掌握這些方法並理解其細微差別,PowerShell 使用者可以簡化其腳本並有效地處理與日期相關的任務,提高生產力並確保數據處理的準確性。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相關文章 - PowerShell DateTime