【发布时间】:2014-03-24 02:09:17
【问题描述】:
我需要将时区连同其他数据一起保存到一个文件中,并从多个平台(Linux、WinRT、Windows Phone 8、OS X、Android、iOS)读取该文件。可能的语言是 C++、C#、Java 和 Objective-C。
将时区偏移量保存为双精度不足以满足我的需求,因为这会丢失夏令时信息,这很重要。根据日期和时区,凌晨 2 点 + 2 小时可能是凌晨 3 点、凌晨 4 点或凌晨 5 点。
是否有普遍支持的可序列化时区格式?
【问题讨论】:
-
我不确定你是否需要不同于 ISO 8601 的东西。你需要存储时间,还是只关心时区偏移?
-
两者都不是。时区有一个动态偏移量,在夏令时的情况下,它每年变化两次。这就是为什么 - 如果可行的话 - 我想保存时区,而不仅仅是静态时区偏移量。一种单一平台的方法是在 .NET 中使用
TimeZoneInfo类。 -
据我所知,时区没有动态偏移。但是国家/地区在时区之间切换以进行夏令时。例如,我国冬季使用 EET (UTC+2),夏季使用 EEST (UTC+3)。
-
我指的是时区作为在这里实现的概念:userguide.icu-project.org/datetime/timezone 和这里msdn.microsoft.com/en-us/library/…
标签: serialization time timezone cross-platform iana