PowerShell:如何将 Unix 时间戳转换为日期时间
通常,您可能希望将 Unix 时间戳转换为 PowerShell 中可读的日期时间。
您可以使用以下语法来执行此操作:
(([System.DateTimeOffset]::FromUnixTimeSeconds($my_unix_time)).DateTime.ToLocalTime()).ToString("s")
此特定示例会将存储在名为 $my_unix_time 的变量中的 Unix 时间戳转换为可读的日期时间。
请注意,PowerShell 将以 24 小时格式显示 UTC 输出。通过使用ToLocalTime(),我们能够将结果日期时间覆盖到我们机器上的本地时间。
另请注意,您还可以使用函数 FromUnixTimeMilliseconds 将以毫秒为单位存储的 Unix 时间转换为可读的日期时间。
以下示例展示了如何在实践中使用此语法。
示例:如何在 PowerShell 中将 Unix 时间戳转换为日期时间
假设我们想要将 Unix 时间戳1667614523转换为可读的日期时间。
我们可以使用以下语法来执行此操作:
$my_unix_time=1667614523
(([System.DateTimeOffset]::FromUnixTimeSeconds($my_unix_time)).DateTime.ToLocalTime()).ToString("s")
以下屏幕截图显示了如何在实践中使用此语法:
请注意,这将返回以下日期时间:
2022-11-04T22:15:23请注意,您可以在 ToString() 方法中指定您想要使用的任何格式,从而以不同的格式显示生成的日期时间。
例如,我们可以使用以下语法来返回格式为 MM/dd/yyyy 的日期时间:
$my_unix_time=1667614523
(([System.DateTimeOffset]::FromUnixTimeSeconds($my_unix_time)).DateTime.ToLocalTime()).ToString("MM/dd/yyyy")
以下屏幕截图显示了如何在实践中使用此语法:
请注意,这将返回以下日期:
11/04/2022您可以在 ToString() 方法中随意使用您想要的任何日期时间格式。

