DATETIME或我应该更喜欢的时间戳?

时间:2014-12-09 16:39:31

标签: sql-server date datetime timezone timestamp

我正在使用SQL Server 2008.服务器在印度。我想存储用户登录和注销时间。我可以在SQL Server中轻松完成。

现在我们有来自不同国家/地区的客户/管理员,他们会检查这些登录/退出时间。他们希望在各自的时区内完成这些时间。

另一种情况是我的客户从一个国家旅行到另一个国家/地区,因此日志时间应根据时区自动更新。

所以我的理解是我必须为客户存储时区信息和日期时间。这样我就可以使用TimeZoneInfo::ConvertTime方法转换为不同的时区。

我可以让我的客户在注册时保存他们的时区。

但我怀疑的是,如果我的客户改变他的国家,他们需要手动更改他们的时区,还是有任何方法可以自动检测时区。检查系统时区是否可行?

或者无论如何存储时间戳可以帮助我?

1 个答案:

答案 0 :(得分:0)

使用datetimeoffset。我公司在欧洲,亚洲几个国家和北美都有业务。对应用程序进行编码,以便将当前计算机的时区设置传递到数据库。当用户旅行时,Windows可以在检测到用户的地理位置时更新时区信息。我从来不用担心DST(想象一下处理2大洲夏令时的乐趣)。

由于存储了时区信息,我可以将其转换为我想要的任何时区。或者,使用本地计算机时区读取数据的应用程序可以做到这一点。