ASP.NETMVC3コントローラーに次のコードがあります。
public PartialViewResult GetCalendar(int? month, int? year)
{
var test = new DateTime((year.HasValue ? year.Value : 1), (month.HasValue ? month.Value : 1), 1);
return PartialView("Calendar", new DateTimeOffset(test));
}
私のビューモデルはDateTimeOffset?
例外がスローされる理由は何ですか?
私はこの問題を抱えていて、負のUTCゾーンにいる私のチームの一部によって紹介されました...
Chamila_cが投稿したのは、これが発生する本当の理由ですが、迅速な修正が必要でした。
「解決する」ために、基本的にこの拡張機能を作成しました。
public static class DateTimeExtensions
{
public static DateTimeOffset ToDateTimeOffset(this DateTime dateTime)
{
return dateTime.ToUniversalTime() <= DateTimeOffset.MinValue.UtcDateTime
? DateTimeOffset.MinValue
: new DateTimeOffset(dateTime);
}
}
maxValueと照合することもできます。