javascript – Kendo MVC Datepicker时区翻译

我们正在观察以下与MVC应用程序和Kendo DatePicker之间的时差有关的问题. Web服务器以UTC 0运行.Web客户端在不同的时区(UTC 1,UTC 3,UTC-5等)运行

该网页包含一个Kendo日期选择器(没有时间部分),用户可以选择一天或一个月.幕后花絮使用包含时间和时区信息的完整日期对象在AJAX请求中发送日期.

我们只对日期部分感兴趣而不管客户端所在的时区.当用户选择日期/月份时,我们希望收到C#
本地服务器时间中的DateTime对象.

例如:

用户是UTC 1并选择’01 / 07/2013′
实际的C#DateTime对象被实例化为’30 / 06/2013 23:00′
我们希望得到’01 / 07/2013 00:00:00′

我们目前在Global.asax中使用以下设置:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.DateTimeZoneHandliig = Newtonsoft.Json.DateTimeZoneHandling.Local;

您能否提一些建议?

解决方法

问题是转换在JavaScript Date和C#DateTime之间变得很困难.我所做的是在将日期发布到服务器之前将日期转换为字符串.您可以挂钩到Kendo DataSource的parameterMap函数来执行此操作.

使用parameterMap函数:

var ds = new kendo.data.DataSource({
  transport: {
    parameterMap: function(data,type) {
      if (type === 'create' || type === 'update') {
        // this changes the date to 'dd/MM/YYYY' format
        data.date = kendo.toString(data.date,'d');
      }
      return data;
    }
  }
});

我还设置了JsonFormatter.SerializerSettings.DateFormatString =“YYYY / dd / MM hh:mm:ss”,因为JavaScript可以将其转换为Date对象,而不会出现错误或其他问题.我还建议将DateTimeZoneHandling更改为UTC.你不需要时区偏移,对吗?

在控制器的服务器端,您可以使用DateTime.Parse()或让编译器隐式执行转换.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)