繁体   English   中英

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

[英]Local Time & UTC Confusion C#, SQL Server

我将所有日期存储为UTC日期时间到SQL Server。 我在用户个人资料中也存储了每个用户的时区ID。

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

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

一个非常重要的问题是 ,假设夏令时为“ ON”,而现在的“ Day Light Saving”为“ OFF”,那么悉尼就有一条记录。 在“夏令时”设置为“开”时创建记录时,它是否仍将转换相同的时间或将根据当前时区状态返回转换(“夏令时为“关闭”)????

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

假设有一个记录是从悉尼创建的,当时“夏令时”为“开”,而现在“夏令时”为“关”。 在“夏令时”设置为“开”时创建记录时,它是否仍将转换为同一时间或将根据当前时区状态返回转换(“夏令时为“关闭”))

该记录包含UTC日期和时间。 这将确定为DST ON或DST OFF期间。 现在夏令时是否生效与否无关紧要。 相反的(存储本地时间,尝试提取UTC)是不确定的,因为DST发生变化时会发生重叠时间(如果一小段本地时间落入DST进入两次时的60分钟内,则不能确定地转换为UTC。 (假设DST为60分钟)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM