You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell转换当前时间为中欧时区指定格式并解决时区ID错误

正确实现方法

错误原因

  • 时区ID使用错误:Windows系统中欧时区(CET/CEST)的系统时区ID是Central Europe Standard Time,而非你写的Central European Time,这是触发TimeZoneNotFoundException的核心原因。
  • 代码变量名不一致:你定义的转换后变量是$startTime,但最后调用了未定义的$dtoEST。
  • 格式处理冗余:不需要用-replace调整格式,直接用对应的格式字符串即可生成目标样式。

正确代码示例

# 获取当前本地时间
$localDate = Get-Date
# 转换为中欧时区时间
$cetTime = [TimeZoneInfo]::ConvertTimeBySystemTimeZoneId($localDate, 'Central Europe Standard Time')
# 格式化为目标格式"yyyy-MM-ddTHH:mm:ss"
$formattedTime = $cetTime.ToString('yyyy-MM-ddTHH:mm:ss')
# 输出结果
$formattedTime

额外说明

  • 如果需要包含时区偏移信息(如2023-05-25T09:51:55+02:00),可以直接使用格式字符串'o',系统会自动适配夏令时的偏移变化:
    $cetTime.ToString('o')
    
  • 若需确认系统支持的所有时区ID,可执行以下命令查看:
    Get-TimeZone -ListAvailable | Select-Object Id, DisplayName
    

内容的提问来源于stack exchange,提问作者Naveen Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:10:03