如何在 PowerShell 中将字符串转换为日期时间

  1. 使用 ParseExact 将字符串转换为 PowerShell 中的 DateTime
  2. 使用显式转换将字符串转换为 PowerShell 中的 DateTime
  3. 使用 Get-Date Cmdlet 将字符串转换为 PowerShell 中的 DateTime
  4. 使用 Parse 将字符串转换为 PowerShell 中的 DateTime
  5. 结论
如何在 PowerShell 中将字符串转换为日期时间

在 PowerShell 脚本中,将日期和时间的字符串表示转换为 DateTime 对象是一项常见任务,通常在处理来自不同来源或格式的数据时遇到。在本技术指南中,我们探索了实现此任务的各种方法,每种方法都有其独特的优势。

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