我目前正在使用.NET处理Web服务,该服务返回有关系统中用户的信息。这个Web服务必须足够通用,以供其他用Java,PHP等编写的系统使用。我的问题是它必须返回默认时区,我不知道我应该使用什么格式来返回时区,以便其他系统可以轻松使用。
你推荐什么?
答案 0 :(得分:1)
最常用的描述时区的方法是“Olson”区域信息数据库:http://www.iana.org/time-zones。
大多数编程语言和框架都有库,可以根据zoneinfo数据库进行日期时间计算。在某些情况下,它甚至内置(我知道的PHP),在Python中,默认实现称为pytz。如果您正在寻找JavaScript实施,则会有一个时区detection script here和一个datetime calculation script here。
只有在使用非常模糊的框架/语言时,才需要自己围绕zoneinfo数据库实现日期时间逻辑。
由于您正在使用.NET,因此您可能会发现此问题很有用:.NET TimeZoneInfo from Olson time zone。考虑使用类似noda-time的库,它放弃了.NET的TimeZoneInfo而支持Olson时区。
更多.NET信息她:TimeZoneInfo vs. Olson database
答案 1 :(得分:0)
我建议将UTC时区用于日期/时间。大多数语言/库都有将UTC转换为所需时区的方法。
如果您需要为用户表示实际的默认时区,请使用UTC的偏移量(例如:东部时间为-5)。