Windows ISO 8601 时间戳
Windows ISO 8601 timestamp
我需要将 Windows PowerShell 中的日期转换为 ISO 8601 格式。
在 Linux/Unix 中
没问题
TZ=0 date -d "<random-format>" +%Y-%m-%dT%H:%M:%S.000Z
现在我需要在 Windows PowerShell 中执行相同的操作。 Windows 上的输出格式是
Wednesday, 19. July 2017 01:06:13
我该怎么做?
PowerShell 的 Get-Date
supports standard .NET time formats. The o
round-trip 格式符合 ISO 8601。像这样,
Get-Date -Format "o"
2017-08-15T12:10:34.4443084+03:00
Get-Date
支持带有 -UFormat
参数的 Unix 格式化字符串。您可以重复使用它:
Get-Date (Get-Date).ToUniversalTime() -UFormat '+%Y-%m-%dT%H:%M:%S.000Z'
以下内容适用于 Windows PowerShell 5.1 和 PowerShell 7.0 on Windows/OS X:
(Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffK")
2020-12-01T22:31:41.402Z
如果您不想要毫秒,则格式字符串将为 "yyyy-MM-ddTHH:mm:ss.000K"
老问题,但由于 none 的其他答案有它,如果您正在寻找 UTC,这似乎可以做到:
(Get-Date).ToUniversalTime().ToString("o")
我需要将 Windows PowerShell 中的日期转换为 ISO 8601 格式。
在 Linux/Unix 中
没问题TZ=0 date -d "<random-format>" +%Y-%m-%dT%H:%M:%S.000Z
现在我需要在 Windows PowerShell 中执行相同的操作。 Windows 上的输出格式是
Wednesday, 19. July 2017 01:06:13
我该怎么做?
PowerShell 的 Get-Date
supports standard .NET time formats. The o
round-trip 格式符合 ISO 8601。像这样,
Get-Date -Format "o"
2017-08-15T12:10:34.4443084+03:00
Get-Date
支持带有 -UFormat
参数的 Unix 格式化字符串。您可以重复使用它:
Get-Date (Get-Date).ToUniversalTime() -UFormat '+%Y-%m-%dT%H:%M:%S.000Z'
以下内容适用于 Windows PowerShell 5.1 和 PowerShell 7.0 on Windows/OS X:
(Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffK")
2020-12-01T22:31:41.402Z
如果您不想要毫秒,则格式字符串将为 "yyyy-MM-ddTHH:mm:ss.000K"
老问题,但由于 none 的其他答案有它,如果您正在寻找 UTC,这似乎可以做到:
(Get-Date).ToUniversalTime().ToString("o")