2

我需要将时区连同其他数据一起保存到一个文件中,并从多个平台(Linux、WinRT、Windows Phone 8、OS X、Android、iOS)读取文件。可能的语言是 C++、C#、Java 和 Objective-C。

将时区偏移量保存为双精度不足以满足我的需求,因为这会丢失夏令时信息,这很重要。根据日期和时区,凌晨 2 点 + 2 小时可能是凌晨 3 点、凌晨 4 点或凌晨 5 点。

是否有普遍支持的可序列化时区格式?

4

1 回答 1

2

似乎最好的答案是使用IANA /Olson/TZDB 时区(在基于 Unix 的系统上受支持),并将它们转换为基于 Windows 的平台。2路转换似乎不可靠,因此最可行的选择似乎是将.NET中的默认日期时间框架替换为NodaTime,如多个相关问题中所述:

于 2014-02-22T13:13:03.267 回答