【发布时间】:2015-04-14 13:38:39
【问题描述】:
我们有一行代码:
DateTime.Now.AddMinutes(-1);
2015 年 3 月 29 日凌晨 2:00 在英国运行。返回值是 1:59,但是由于转换到夏令时 1:59 实际上并没有发生,并导致进一步的异常。
在我看来,这是 .NET 中的一个错误,但是我们如何在以下行引发异常之前验证这是一个有效的 DateTime 以代替修复框架?
我真的在寻找类似的扩展方法。
if(!theDate.IsValidInTimezone(TimeZoneInfo.Local))
{
// the time is not valid
}
【问题讨论】:
-
可以选择使用像 Noda Time 这样的库吗?
-
你可以去 DateTime->Ticks->DateTime 并检查此往返是否在同一时间点到达。
-
DateTime.NowUtc.AddMinute(-1).ToLocal(TimeZoneInfo.Local) 怎么样
标签: c# .net validation datetime