Get-Date.ToString('r')返回不正确的时间(GMT而不是本地时区)

时间:2013-04-13 20:25:40

标签: powershell

PowerShell没有正确显示时间并且忽略了我的本地时区 - 它当前是00:20(格林威治标准时间+2),但是获取时间显示当地时间(00:20)但错误地打印GMT。

检查运行脚本的服务器,并正确设置时区和本地时间。

我做错了什么或者这是一个错误吗?

$scriptStartDate = Get-Date
Write-Host "time is $($scriptStartDate.ToString('r'))"
# above line prints 'Sun, 14 Apr 2013 00:20:00 GMT'
# this is wrong as wrong timezone, it should be 'Sun, 14 Apr 2013 00:20:00 E.Europe'

1 个答案:

答案 0 :(得分:4)

您需要确保时间以UTC为单位。你可以这样做:

[DateTime]::UtcNow.ToString('r')

此格式的docs说明如下:

  

格式化不会修改DateTime的值;因此,你   必须在格式化之前将值调整为GMT。