本地时间和UTC混淆C#,SQL Server



我将所有日期作为UTC日期时间存储到SQL Server中。我在用户配置文件中也存储了每个用户的时区Id。

现在,当用户请求返回数据时,我想使用我为特定用户存储在配置文件中的时区为每个记录显示用户的本地时间。

在返回数据的同时,将所有日期和时间动态转换为特定时区的最简单和优化的方法是什么(因为我同时处理大量记录)?在SQLC#中都可以。。。

非常重要的问题是,假设悉尼创造了一项记录,当时Day Light Saving为"ON",现在Day Light Save为"OFF"。由于该记录是在Day Light Saving为"ON"时创建的,它仍然会转换相同的时间还是会根据当前时区状态返回转换(Day Light Save为"OFF")???

人们只看到他们从特定创建的记录

比方说,悉尼创造了一个记录,当时有"开启"的Day Light Saving,而现在Day Light Saveing是"关闭"的。由于该记录是在Day Light Saving为"ON"时创建的,它仍然会转换相同的时间吗?还是会根据当前时区状态返回转换(即Day Light Save为"OFF")

该记录包含UTC日期和时间。这将进入夏令时开启或夏令时关闭阶段,具有确定性。与DST是否有效无关现在。相反(存储本地时间,尝试提取UTC)是不确定的,因为夏令时变化时有重叠时间(如果一小部分本地时间落入夏令时生效时两次出现的60分钟内,假设夏令时为60分钟,则无法确定地将其转换为UTC)。

至于这个问题:在您的演示层中转换日期。使用TimeZoneInfo.ConvertTimeFromUtc

相关内容

  • 没有找到相关文章

最新更新