asp.net-mvc – 应用偏移量时表示的UTC时间必须介于0到10,000之间.参数名称:offset
|
我在ASP.NET MVC3控制器中有以下代码: 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? 抛出异常的原因是什么? 解决方法DateTimeOffset构造函数首先将不是Kind’UTC’的任何DateTime转换为等效的UTC时间.然后它将检查UTC等效的DateTime是否超出DateTimeOffset.MinValue和DateTimeOffset.MaxValue的边界,如果是,则抛出类似于您遇到的ArgumentOutOfRangeException.检查您正在使用的变量测试的DateTime.Kind,如果它不是’UTC’,那么如果转换为UTC将使测试指定的DateTime超出这些边界,则可以计算出来 – 根据MSDN文档,MinValue和MaxValue(UTC)分别是’1/1/0001 12:00:00 AM 00:00’和’12 / 31/9999 11:59:59 PM 00:00′. 文档(DateTimeOffset.MinValue)注意到: “在方法与MinValue进行比较之前,任何DateTimeOffset值都会转换为协调世界时(UTC).这意味着DateTimeOffset值的日期和时间接近最小范围,但其偏移量为正,可能会引发异常.例如,值1/1/0001 1:00:00 AM 02:00超出范围,因为它比MinValue提前一小时转换为UTC.“ 而且(DateTimeOffset.MaxValue): “在将方法与MaxValue进行比较之前,任何DateTimeOffset值都会转换为协调世界时(UTC).这意味着DateTimeOffset值的日期和时间接近最大范围,但其偏移量为负,值12/31/9999 11:00 PM -02:00超出范围,因为它比MaxValue晚一个小时转换为UTC.“ 根据文档(DateTimeOffset Constructor),应用于非UTC种类的偏移量是“本地系统当前时区的偏移量”. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- rest – 基于权限从WebApi端点进行上下文序列化
- asp.net-mvc – ASP.NET MVC3 IIS无法获取加载样式表
- ASP.NET中的%%(嵌入式代码块)
- asp.net-mvc – 基于MVC的API – 如何实现OAuth?
- asp.net-mvc – 所有请求获取HTTP错误401.2 – 未经授权的响
- asp.net-mvc-4 – 使用Twitter Bootstrap 3放置验证消息的最
- ViewState在ASP.NET MVC中是否相关?
- asp.net-mvc-3 – 从ASP MVC 3 Preview更新到Beta后,提交了
- 如何在ASP.NET中以程序方式模拟HTTP POST?
- asp.net-mvc – RouteValueDictionary的字符串URL
- asp.net-mvc-3 – 如何模拟查询字符串
- asp.net – 迁移匿名配置文件的最佳方式
- asp.net-mvc – 如何使用Html.EditorFor与MVC3设
- asp.net – 使用HTML标记到web.config文件
- asp.net-mvc – 如何通过URL获取RouteData?
- asp.net-mvc – ASP.NET MVC:什么在哪里?
- asp.net-mvc – 在视图中转义JavaScript字符串文
- asp.net-mvc-5 – MVC 5 AttributeRouting Catch
- asp.net – 为什么Request.IsSecureConnection返
- 在ASP.Net中防止SQL注入
