c# - 影响 UTC 转换的夏令时更改

标签 c# .net

基本上,我将存储在数据库中的本地日期转换为 UTC。但是我在某处读到夏令时规则在 2007 年发生了变化。 Date.ToUniversalTime() 函数仍然可以正常工作。基本上 2007 年之前的日期(新规则生效时)将被正确转换,但之后的日期则不会。我在这里吗?还是 .Net 会在内部处理转换,即根据不同的夏令时规则?

编辑:日期作为本地时间存储在数据库中。我正在将其转换为 UTC。因此,诸如“2005 年 3 月 9 日”之类的日期应该使用 2005 年的日光规则而不是今天的规则进行转换。美国的规则在 2007 年发生了变化。所以日期会出现一个小时的错误。

最佳答案

这将取决于您使用的 .NET 版本以及可能使用的 Windows 版本。 .NET 3.5 有 TimeZoneInfo包含历史变化等的类 - 不幸的是,在此之前,支持更加零散。

关于c# - 影响 UTC 转换的夏令时更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/221824/

相关文章:

c# - 泛型的反/协方差问题

c# - 如何在我的安装项目中嵌入横幅图像和/或添加删除程序图标?

c# - BCL 中的任何地方是否有一个(隐藏得很好的)通用枚举用于启用/禁用?

c# - Bool 属性不会通过复选框绑定(bind)更新

c# - 字符串不变性在向开发人员解释字符串引用时扮演什么角色?

C# OLEDB 保护查询中的撇号

c# - 将文件上传到 Hbase HDInsight

c# - SemaphoreSlim 使用限制

c# - 为什么我不能在C#中设置这个ACL规则?

.net - .NET 语言真的对消费者桌面应用程序产生了影响吗?