【发布时间】:2017-03-15 19:55:38
【问题描述】:
如何防止 Kendo 将我传递的 DateTime 对象转换为用户的本地时区?
我正在使用Kendo UI 和我的MVC 项目。在我看来,我可以使用C# 打印出日期/时间,只需执行以下操作:
@Model.EndDate.ToString("MMMM dd, yyyy hh:mm tt)
但是,我的项目的某些部分正在使用 Kendo 模板,这需要我使用 Kendo 的 .toString() 方法来正确格式化日期。问题在于它将它转换为浏览器的本地时区,我不希望它这样做。
这是我使用剑道显示日期/时间的方式:
<script id="DetailTemplate" type="text/x-kendo-template">
#= kendo.toString(EndDate, "g") #
</script>
根据我的阅读,默认情况下更改时区的实际上是 JavaScript 本身。有没有办法可以在使用日期之前解析日期,将它们锁定在原来的时区?
【问题讨论】:
-
日期没有时区,它们是 UTC。但是,内置的 toString 在构建用于显示的字符串时使用主机时区。您如何存储原始时区?
-
@RobG 感谢您提供的信息,我没有意识到他们没有存储时区。我决定只使用 moment.js 来指定我想要日期的时区。
-
支持特定时区相当容易,但夏令时变得更有趣。如果您对图书馆感到满意,那也没关系。
标签: javascript date datetime kendo-ui