将给定的日期/时间转换为本地服务器时间

问题描述

我有一个日期/时间,比如说 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]