我需要将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
我该怎么做?
答案 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"