跨平台时区序列化



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

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

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

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

  • 从 iPad (目标 C) 到 MVP Web API (C#) 的时区映射
  • 如何在 Windows 和 IANA 时区之间进行翻译?
  • 将 Olson TZID 转换为 Windows 时区
  • 如何将 C# 中的时区信息转换为 Java 中的时区信息?

相关内容

  • 没有找到相关文章

最新更新