问题描述
我有一个日期/时间,比如说 01/07/2021 20:50 (MM/DD/YYYY HH:MM) 什么是 GMT-5 (EST)。
我的服务器在不同的时区运行,例如 GMT+0、GMT+9 等...
我将使用上面的 EST 日期/时间运行脚本。我不想理会服务器的本地时区,因为就像我说的,它们位于不同的时区并且可能不一致,而且我知道 X 环境/区域的停机时间窗口是上面的 EST 时间,所以我必须考虑在美国东部时间。
例如:
reboot.bat 01/07/2021 20:50
以上将在本地服务器上运行。它需要转换,但我正在努力。我一直在尝试不同的选项,例如 [System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId
,但没有办法。
非常感谢任何帮助!批处理或 powershell 会很棒。
谢谢!
解决方法
使用a standard format that can include timezone information:
$localizedTimestamp = '2021-01-07T20:50:00-0500' # the -0500 postfix means UTC-5
$date = Get-Date $localizedTimestamp
Get-Date
将返回时区本地化的 [datetime]
值