在Sql Server 2005及更高版本中处理时区和夏令时

时间:2011-07-14 21:11:05

标签: c# asp.net sql-server timezone dst

Soo ......我有一个正在研究的网络应用程序。这是基础知识。 (ASP.Net,C#,EF,Linq)

我们拥有拥有并开启和关闭日期的项目。

因此想象一个名为带有这些字段的项目的表。 在该表上,我们需要一个计算列,用于打开时间打开和调整时间,其中调整时间打开时间考虑操作小时数。

现在您可以设置星期日至星期六的营业时间,或选择当天不工作。

它存储在一个表格中,值以午夜时分的格式存储在UTC中。

我们的数据库中的所有日期都存储在utc。

因此在用户定义的函数中,计算时间打开和调整时间打开(写入和工作,除了夏令时的情况。

例如:

我们创建了一个项目,我们在当地时间上午9点提前一小时。所以get存储为22:00:00 UTC。如果我们在当地时间上午9点返回我们创建项目,则将其存储为UTC时间21:00:00。 (我有点猜测确切的时间,但你明白了。)

这没关系,我对此没有任何问题。这个问题随着时间的推移而出现。

我们基本上在他们设置它时,获取utc时间然后将其转换为午夜分钟并将其存储在表格中。从技术上讲,这可能是22 * 60或21 * 60,具体取决于我们所处的夏令时的哪一部分。所以计算可能会关闭。

这有意义吗?我很难掌握并解释其中的一些内容。

0 个答案:

没有答案