全球网站和日期时间存储?

时间:2012-12-24 19:08:40

标签: c# sql-server sql-server-2008 datetime globalization

我正在寻找最佳实践解决方案。

以stackoverflow为例,我问了一个问题:

我住在以色列,现在时间是:

enter image description here

我确实在~17:58(现在3小时前)问了一些事情

enter image description here

然而,它确实显示“3小时前” AND 显示UTC时间。 (以色列是+2)

所以要么它会保存UTC和我的偏移量

它只保存UTC,在客户端的JS中显示当地时间。

现在我的问题来自数据库的观点:

可以检测客户端通过JS命令连接的位置:

new Date().getTimezoneOffset(); //-120

可以存储它,如:

data  |    UTCTime          | userOffset
----------------------------------------
 ...    2012-12-24 15:36:31       -2

问题

  • 这是存储全球事件(日期时间)的最佳解决方案吗?

  • 在c#中有一个DateTimeOffset结构类型,用于存储其中的偏移量。 在Sql server中有没有相应的解决方案?

2 个答案:

答案 0 :(得分:2)

根据this post:您应该始终保持统一日期。所以UTC将是最好的选择。

另一方面 - 当您拥有UTC日期时,您可以根据某个时区轻松地显示它(不仅适用于作者,也适用于所有人)。

答案 1 :(得分:1)