如何确定DateTime中的值是否有效?

Lia*_*ath 6 .net c# validation datetime

我们有一行代码:

DateTime.Now.AddMinutes(-1);
Run Code Online (Sandbox Code Playgroud)

于2015年3月29日凌晨2点在英国举行.返回值为1:59,但由于过渡到夏令时1:59实际上并没有发生,并且导致了进一步的异常.

在我看来,这是.NET中的一个错误,但是代替修复框架如何在以下行抛出异常之前验证这是一个有效的DateTime?

我真的在寻找一种扩展方法.

if(!theDate.IsValidInTimezone(TimeZoneInfo.Local))
{
  // the time is not valid
}
Run Code Online (Sandbox Code Playgroud)

Sri*_*vel 6

TimeZoneInfo.IsInvalidTime方法可以帮到你.