1

我目前正在使用 .NET 开发一个 Web 服务,该服务返回有关系统中用户的信息。这个 Web 服务必须足够通用,才能被其他用 Java、PHP 等编写的系统使用。我的问题是它必须返回默认时区,我不确定应该使用什么格式来返回时区,以便其他系统可以轻松使用它。

你有什么建议吗?

4

2 回答 2

1

描述时区最常用的方式是“Olson”时区信息数据库:http ://www.iana.org/time-zones 。

大多数编程语言和框架都有库来基于该 zoneinfo 数据库进行日期时间计算。在某些情况下,它甚至是内置的(我知道的 PHP),在 Python 中,默认实现称为pytz。如果您正在寻找 JavaScript 实现,这里有一个时区检测脚本和一个日期时间计算脚本

只有当您使用非常晦涩的框架/语言时,您才需要自己围绕 zoneinfo 数据库实现日期时间逻辑。

由于您正在使用 .NET,您可能会发现这个问题很有帮助:.NET TimeZoneInfo from Olson time zone。考虑使用像noda-time这样的库,它放弃了 .NET 的 TimeZoneInfo 以支持 Olson 时区。

更多 .NET 信息:TimeZoneInfo vs. Olson 数据库

于 2012-04-20T10:30:39.967 回答
0

我建议使用 UTC 时区作为日期/时间。大多数语言/库都有将 UTC 转换为所需时区的方法。

如果您需要为用户表示实际的默认时区,请使用与 UTC 的偏移量(例如:东部时间为 -5)。

于 2012-04-17T12:12:35.053 回答