在PowerShell中检查时区的语言无关方式?

时间:2016-11-28 17:13:56

标签: windows powershell

我使用powershell命令测试我们的基础架构:

[System.TimeZoneInfo]::Local.Id

返回类似

的字符串
Eastern Standard Time

我们的服务器现在都是英文服务器,但是如果我在非英语窗口上运行它,我很确定这个测试会失败。

有没有办法检查时区而不必检查英文字符串?

1 个答案:

答案 0 :(得分:4)

而不是使用[System.TimeZoneInfo]::Local.Id使用[System.Timezoneinfo]::Local.BaseUtcOffset,它将根据您使用的服务器的UTC时间和服务器时区之间的小时数差异给出结果。

修改

@LotPings是正确的,BaseUtcOffset不会考虑DST,如果你只关心验证时区没有改变你的标准可能无关紧要,但如果重要的是你可以使用[System.TimeZoneInfo]::Local.GetUtcOffset($(get-date))这将获得当前的UTC偏移量。