Windows ISO 8601时间戳

时间:2017-08-15 08:45:32

标签: windows powershell timestamp iso8601

我需要将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

我该怎么做?

3 个答案:

答案 0 :(得分:15)

PowerShell的Get-Date支持标准的.NET时间格式。 o round-trip格式符合ISO 8601.同样,

Get-Date -Format "o"

2017-08-15T12:10:34.4443084+03:00

答案 1 :(得分:8)

Get-Date支持使用-UFormat参数的Unix格式化字符串。你可以重复使用它:

Get-Date -UFormat '+%Y-%m-%dT%H:%M:%S.000Z'

答案 2 :(得分:0)

以下内容在Windows PowerShell 5.1和Windows / OS X上的PowerShell 7.0中均适用:

 (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffK")
 
 2020-12-01T22:31:41.402Z

如果您不希望使用毫秒,那么格式字符串将为"yyyy-MM-ddTHH:mm:ss.000K"