【发布时间】:2015-09-03 17:47:50
【问题描述】:
我有一个将本地时间转换为 UTC 并将其存储在数据库中的应用程序。我在特定日期测试转换时遇到了这个问题 - 2015 年 11 月 1 日(夏令时结束的日期(时钟回到凌晨 1 点到凌晨 2 点))。
我的本地系统时区是 (UTC-08:00) 太平洋时间(美国和加拿大) 我将时间 2015-10-31 01:49:00.000 转换为 UTC,输出为 2015-10-31 08:49:00.000。
但是
当我尝试将 2015-11-01 01:49:00.000 转换为 UTC 时,输出为 2015-10-31 09:49:00.000。
这不是错的吗?为什么转换后的时间在 11 月 1 日增加了一个小时?
这是我的方法,
DateTime universalFormatDateTime = localDateTime.Value.GetUniversalFormatDateTime();
utcDateTime = TimeZoneInfo.ConvertTimeToUtc(universalFormatDateTime, _timeZoneInfo);
【问题讨论】:
-
“通用格式日期时间”首先是什么意思?这听起来就像它实际上是在UTC,但显然不是......你可能想要重命名你的变量和方法以避免混淆。