【发布时间】:2011-05-07 16:08:22
【问题描述】:
我在澳大利亚悉尼的位置。我解释的日期将采用英国或澳大利亚日期格式。
注意以下几点:
- 2010-04-15 04:30:00.000 => 15/04/2010 14:30:00 EST(英国日期格式 - 增加 10 小时)
- 2010-11-05 01:00:00.000 => 2010 年 5 月 11 日 12:00:00 EST(英国日期格式 - 增加 11 小时)
这两个时间都以 UTC 格式从数据库中检索出来,然后在 Web 级别计算无论 +10 小时还是 +11 小时都适用。
在澳大利亚,夏令时 (DST) 过渡日期每年都不同。过渡日期通常是四月初和十月下旬。
那么网络计算的准确度如何?如果今年的过渡日期在几天后(例如 03/04/2010),但网络计算基于固定日期(例如 01/04/2010),这是否意味着两者之间的日子将是显示时关闭 1 小时(由于每月特定日期的固定计算性质)?
我认为过渡日期不是预先确定的,实际上是向公众宣布的。这个假设是真的吗?
如果不是(这意味着 DST 日期是预先确定的),我是否能够在 Web 级别之外(在 SQL/数据库级别)进行计算?
数据库是 SQL Server 2005,我使用 报告定义语言 (RDL) 以 UTC 时间显示字段。如果 SQL/数据库级别不是最好的方法,我如何计算 +10 或 +11 并相应地格式化时间以显示正确的时间?
谢谢。
【问题讨论】:
-
在澳大利亚,是否有一些关于过渡的固定模式?这个问题的原因是,有一个 TZ 数据库可以跟踪这些变化。检查是否在 TZ 数据库中捕获了这些变化。
-
另一个为什么在数据库中使用整数纪元时间会产生奇迹的例子。
标签: sql database sql-server-2005 dst