Pra*_*pta 9 c# timezone datetime
我有一种情况,日期是"3/13/2016 2:41:00 AM".当我按时区转换日期时,我收到错误.
DateTime dt = DateTime.Parse("3/13/2016 2:41:00 AM");
DateTime Date_Time = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dt, "Eastern Standard Time",
"GMT Standard Time");
Response.Write(dt);
Run Code Online (Sandbox Code Playgroud)
执行后,我收到此错误:
提供的DateTime表示无效时间.例如,当向前调整时钟时,跳过的时间段中的任何时间都是无效的.参数名称:dateTime
Rah*_*thi 12
尝试检查时间是否模糊或有效时间.由于日光变化,您提到的时间即2:41:00 AM不存在,因为时钟提前1小时移动,因此日期无效或模棱两可.
2016 Sun, 13 Mar, 02:00 CST ? CDT +1 hour (DST start) UTC-5h
Sun, 6 Nov, 02:00 CDT ? CST -1 hour (DST end) UTC-6h
Run Code Online (Sandbox Code Playgroud)
您还可以参考此博客:System.TimeZoneInfo:使用时间上的模糊和无效点
System.TimeZoneInfo(当前作为.NET Framework 3.5 Beta 1的一部分提供)包含用于检查DateTime实例是否表示特定时区中的模糊或无效时间的方法.这些方法对于验证用户提供的时间点特别有用.
背景资料
调整夏令时间的时区(在大多数情况下,通过将时钟时间向后或向前移动1小时)在时间线中有间隙和重复 - 时钟时间通过调整向前或向后移动.我们以太平洋标准时间为例.2007年太平洋标准时间(PST)02:00 AM("春天正向")在三月第二个星期日更改为太平洋夏令时间(PDT),然后02:00 AM("后退")上的第一个星期日返回十一月
要检查时间是否有效,您可以使用:
TimeZoneInfo.IsInvalidTime
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5028 次 |
| 最近记录: |