你是在 Windows 中实现自定义时区的某种方式吗?
我们在加拿大不列颠哥伦比亚省的克雷斯顿有一些电脑(时区例外),它们全年保持相同的时间。所以本质上,Creston 没有观察时区。我可以在 windowsÉ 中实现这种行为吗
我写了一篇关于我们遇到的类似问题的长篇博文:http: //subjectivecoder.blogspot.com.au/2013/04/creating-custom-windows-timezones.html
简短的版本是注册表中有一个位置允许您修改或创建新时区 - 但注册表格式相当讨厌。
Microsoft 有一个名为 TZEdit 的 GUI 工具,您可以在这里找到它:http: //support.microsoft.com/kb/914387(向下滚动到方法 2 并下载 TZEdit.exe)。
如果您想查看幕后发生的事情,我已将源代码发布到我在这里构建的命令行工具中:https ://github.com/Rophuine/TimeZoneInfoGenerator (它未经测试且快速且肮脏但可能会有所帮助如果你有兴趣,你就会明白发生了什么)。
除了夏令时,这是正常的 MST (UTC-0700),对吧?
Windows 曾经有一个复选框,名为“自动调整夏令时时钟”。也许你可以追捕它。即使没有复选框,注册表设置也可能仍然存在。
数据位于:HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Time zone。
您可能可以添加自己的区域。
每个区域都有自己的密钥。它们包含大量数据。某些区域具有子项 Dynamic DST。
这并不完全是一个答案,但您可能会考虑尝试将 Creston 识别为官方时区。至于究竟如何做到这一点......我想联系微软,并询问他们从哪里获得时区信息。计算机编程中与官方时区数据库最接近的可能是zoneinfo,但我不确定 Microsoft 是否使用它。
警告:您应该非常小心地创建自己的时区,即使您认为您的系统是孤立的。
这可能会导致与其他系统交换信息时出现问题,包括转换错误和异常处理。
如果您想要的时区在法律上得到认可,您应该考虑让您的供应商正确地将您添加到他们使用的时区存储库中。