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

Windows Server 2019 Core中PowerShell与cmd时间不一致问题求助

解决Windows Server 2019 Core时区夏令时未生效问题

1. 验证系统时区配置是否真正生效

先在cmd中执行命令确认当前时区设置:

tzutils /g

确保输出为Iran Standard Time_dstoff。若不一致,重新执行设置命令并重启服务器:

tzutils /s "Iran Standard Time_dstoff"
shutdown /r /t 0

2. 刷新PowerShell时区缓存

PowerShell会缓存时区数据,关闭所有PowerShell窗口后重新打开,再执行Get-Date查看结果。若仍异常,强制刷新缓存:

[System.TimeZoneInfo]::ClearCachedData()
Get-Date

3. 重启Asp.Net相关服务

Asp.Net应用进程可能缓存了旧时区信息,需重启对应服务:

  • 若使用IIS托管,执行:
iisreset
  • 若为自托管应用,直接重启应用进程。

4. 检查注册表夏令时禁用状态

打开cmd执行命令,确认系统是否禁用了夏令时自动调整:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v DisableAutoDaylightTimeSet

若返回值为0x0,手动设置为禁用:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v DisableAutoDaylightTimeSet /t REG_DWORD /d 1 /f

设置完成后重启服务器生效。

5. 排查应用代码时区逻辑

检查Asp.Net应用代码,确认没有硬编码时区或手动启用夏令时的逻辑:

  • 避免直接使用TimeZoneInfo.FindSystemTimeZoneById("Iran Standard Time"),确保使用带_dstoff的时区ID
  • 排查是否存在自定义时区转换逻辑覆盖系统设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:43:11