如何在Windows(非Java)应用程序中使用Java时区ID?
我需要将时区信息添加到具有用户维护位置的db表中.数据将主要从
Java代码访问,但也有一些PL / SQL和Win32(Delphi)代码需要了解时区信息.
似乎可以直接使用java.util.TimeZone中的id. Java很容易转换(很明显),Hibernate内置了对它的支持,显然Oracle也理解那些时区id: select TZ_OFFSET('Pacific/Marquesas') from dual. 问题是:时区ID似乎与Windows时区数据库不兼容.例如,java.util.timezone id“Pacific / Marquesas”(-09:30)不在Windows的时区选项列表中.注册表根本不包含它;看到 SOFTWAREMicrosoftWindows NTCurrentVersionTime Zones 在这里我只能选择-09:00或-10:00.所以,如果我要像这样存储时区,我怎样才能获得Windows中的实际偏移/ DST信息(没有Java)?希望这不需要映射表,每当它发生变化时我都要及时更新.是否有一个全球认可的标准比java时区ID更好? 更新 时区信息与数据库上的DATE列结合使用.这些列包含本地日期/时间值.如果位置可以与这些值相关联,则位置的时区使我能够在需要时将日期/时间值转换为UTC或任何其他时区. 我意识到,而不是DATE,TIMESTAMP_TZ数据类型或类似的东西更合适.但是,这将需要数据迁移(再次需要TZ),并且遗留应用程序也不支持它们也可以处理数据(除非更改了大量代码).如果我必须将值转换为UTC,问题几乎相同. 底线是我需要在当地时间保持DATE值,但我需要知道其中一些TZ意味着什么. 解决方法
如果不是真正的答案,我可以提供一些背景知识.
许多系统使用Olson时区数据实现.所以这些名称在很多系统中都有用(我认为大多数是Unix,Java,Oracle).微软做了自己的事情. 我在Wikipedia链接的底部看到有一些对Windows世界的映射的引用. 祝好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – Windows远程桌面是否有任何防止暴力
- windows-phone-7 – 全景wp7 mvvm中的静态和动态全景项目
- Windows窗体中的C#垂直标签
- XP上的Emacs,tramp,plink问题
- Windows Phone 8.1 |如何确定本地文件夹中是否存在文件?
- windows-server-2012 – 如何在Windows Server 2012中使用W
- 如何浏览ActiveX DLL的类和方法?
- windows-7 – 在Windows 7上减少虚拟内存页面文件大小
- windows – 如何查找磁盘是否已精简配置?
- 如何在Windows窗体C#中保存大量数据
- 重新安装前最好的免费工具来映像Windows XP驱动器
- Anaconda 安装 TensorFlow ImportError:DLL加载
- Microsoft Teams Voice语音落地系列-4 实战:Team
- windows – 将socket.io脱机安装
- xaml – Winrt应用程序,随机场合的未处理异常
- 重新安排WPF中的ListBox项目(如Windows 8启动屏幕
- assembly – 为什么这个mov gs指令会导致运行Win
- windows – (UWP)WebClient和从URL下载数据
- 如何配置Windows域控制器以使用外部时间服务器?
- Windows10主机插入耳机只有一边有声音