Powershell最简单的获取当前时间的方法,表示为UTC

dav*_*dev 5 powershell time timezone datetime utc

我已经在PowerShell中查看了使用特定的UTC DateTime创建一个DateTime对象的帖子,但它似乎没有直接回答我问的问题:

PowerShell(3.0)中最直接的方法是返回表示"now"为UTC的可排序字符串?

我期望正确的答案是:

Get-Date -Format (Get-Culture).DateTimeFormat.UniversalSortableDateTimePattern 

 OR

get-date -format u
Run Code Online (Sandbox Code Playgroud)

但这种情况并非如此.

示例:2016年9月1日13点(下午1点)在太平洋时区的太平洋时区,我收到回复:

2016-09-01 13:00:00Z(附加"Z"的当地时间)

当我期待的时候:

2016-09-01 20:00:00Z(UTC(格林威治标准时间)译右标准)

基本上,我的代码只是获取一个表示"本地"时间的字符串并附加一个"Z".

现在,我知道我可以操纵到达那一点,但我正在寻找最小(最简单,最干净)的方式来到这里.

奖励积分(好像它们已存在):我如何获得相同的可排序结果,但以"UTC"和/或"GMT"作为后缀显示.相同的最低要求.

bri*_*ist 21

可能是这样的:

[DateTime]::UtcNow.ToString('u')
Run Code Online (Sandbox Code Playgroud)

这相当于:

[DateTime]::UtcNow.ToString((Get-Culture).DateTimeFormat.UniversalSortableDateTimePattern)
Run Code Online (Sandbox Code Playgroud)

对于奖金,我认为最简单的方法就是替换ZUTC:

[DateTime]::UtcNow.ToString('u').Replace('Z','UTC')
Run Code Online (Sandbox Code Playgroud)

我假设你总是想要UTC,因为你的问题似乎是这样.似乎没有格式字符串只能获得3个字母的时区.