我正在做一个项目,主要处理DateTime。它运行在Windows 2008 R2上,使用.Net 4.5 MVC Web API和IIS版本7.5.76001.6385。
到目前为止,当我在Chrome和FireFox上测试它时,它运行得很好。但当我开始在InternetExplorer上测试时,它开始给出ModelError关于DateTime字段。
错误为:值Tue, 23 Mar 2013 12:00:00 UTC
对StartTime无效。
但是,我找到了解决方案。我已经在每个DateTime字段中用GMT
替换了UTC
,然后它就可以正常工作了。
实践中的解决方案:
价值创造错误:Tue, 23 Mar 2013 12:00:00 UTC
解决方案:Tue, 23 Mar 2013 12:00:00 GMT
这样做效果很好,我想问题和解决方案很清楚,现在我的问题是:
问题:为什么IIS在DateTime字符串格式包含UTC
作为时区时出错?
首先,我不确定您为什么需要UTC和GMT。
也许这就是IE现在变得越来越智能的原因;)
格林尼治标准时间(GMT)是一个术语,最初指的是平均太阳在格林威治皇家天文台的时间,那里是第一个系统开发于1850年左右,用于基于世界它现在经常被用来指代协调世界时(UTC)。
严格地说,UTC不是一个时区,而是一个原子时标其仅近似于旧意义上的GMT。它也被用来指代到世界时(UT),这是一个天文学概念直接取代了原来的GMT.
由于UTC不是时区,因此IE不会对其进行转换,但其他浏览器足够灵活和智能。