M.S*_*.S. 11 windows powershell timestamp iso8601
我需要将Windows PowerShell中的日期转换为ISO 8601格式.
在Linux/Unix中没问题
TZ=0 date -d "<random-format>" +%Y-%m-%dT%H:%M:%S.000Z
Run Code Online (Sandbox Code Playgroud)
现在我需要在Windows PowerShell中执行相同的操作.Windows上的输出格式是
Wednesday, 19. July 2017 01:06:13
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
von*_*ryz 15
PowerShell Get-Date支持标准的.NET时间格式.在o往返格式与ISO 8601的规定,像这样,
Get-Date -Format "o"
2017-08-15T12:10:34.4443084+03:00
Run Code Online (Sandbox Code Playgroud)
rom*_*m99 12
老问题,但由于其他答案都没有它,如果您正在寻找 UTC,这似乎可以做到这一点:
(Get-Date).ToUniversalTime().ToString("o")
Run Code Online (Sandbox Code Playgroud)
Get-Date支持Unix格式化字符串与-UFormat参数.你可以重复使用它:
Get-Date -UFormat '+%Y-%m-%dT%H:%M:%S.000Z'
Run Code Online (Sandbox Code Playgroud)
以下内容适用于 Windows/OS X 上的 Windows PowerShell 5.1 和 PowerShell 7.0:
(Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffK")
2020-12-01T22:31:41.402Z
Run Code Online (Sandbox Code Playgroud)
如果你不想要你的毫秒,那么格式字符串将是 "yyyy-MM-ddTHH:mm:ss.000K"