如何用PowerShell将GMT时间转美东时区并按HH:mm:ss格式显示
解决方案
以下是将指定GMT时间转换为美国东部时区并仅展示HH:mm:ss格式时间的PowerShell脚本:
# 输入的GMT时间字符串 $gmtTime = "Thu, 30 Nov 2023 17:50:51 GMT" # 解析为UTC DateTime对象(输入格式符合RFC1123标准,用格式符"r") $utcDateTime = [DateTime]::ParseExact($gmtTime, "r", [System.Globalization.CultureInfo]::InvariantCulture) # 获取美国东部时区(自动处理夏令时/标准时切换) $easternTimeZone = [System.TimeZoneInfo]::FindSystemTimeZoneById("Eastern Standard Time") # 转换时区并格式化时间部分 $easternTime = [System.TimeZoneInfo]::ConvertTimeFromUtc($utcDateTime, $easternTimeZone) $formattedTime = $easternTime.ToString("HH:mm:ss") # 输出结果 $formattedTime
关键说明:
ParseExact使用格式符"r"是因为输入的GMT字符串符合RFC1123标准格式,搭配InvariantCulture避免系统区域设置干扰解析Eastern Standard Time是Windows系统内置的时区ID,会自动根据日期切换夏令时(EDT)和标准时(EST),无需手动调整偏移量ToString("HH:mm:ss")确保输出24小时制的时分秒格式
内容的提问来源于stack exchange,提问作者iceman
相关产品推荐
相关产品推荐

