Kendo MVC日期选择器时区翻译
Kendo MVC Datepicker timezone translation
我们观察到以下与MVC应用程序和Kendo DatePicker之间的时间差有关的问题。web服务器正在UTC+0中运行。web客户端运行在不同的时区(UTC+1、UTC+3、UTC-5等)
该网页包含一个剑道日期选择器(没有时间部分),用户可以在其中选择一天或一个月。幕后使用包含时间和时区信息的完整日期对象在AJAX请求中发送日期。
我们只对日期部分感兴趣,而不考虑客户端所在的时区。当用户选择日期/月份时,我们希望收到C#本地服务器时间中的DateTime对象。
例如:
用户处于UTC+1并选择"2013年7月1日"实际的C#DateTime对象被实例化为"30/06/2013 23:00"我们预计会收到2013年7月1日00:00:00的
我们目前正在Global.asax中使用以下设置:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.DateTimeZoneHandliig = Newtonsoft.Json.DateTimeZoneHandling.Local;
你能给我个建议吗?
问题是JavaScriptDate和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()
或让编译器隐式执行转换。
- 如何在javascript上使用flak-babel进行翻译
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 高库存时期时间与时区不匹配
- 仅在IE中,javascript中的时区名称不正确
- 带时区的Javascript Datestring转换器
- 使用谷歌网站翻译器自动翻译网页
- jsi18n-django.catogue没有'不包含任何已翻译的字符串(但是djangojs.mo包含)
- 获取用户选择的不带时区的日期
- Rails:如何获取当前用户'使用Heroku时的时区
- Django'支持Javascript文件中的翻译
- 时刻时区和时区(_Z)
- 如何翻译MySQL查询's ResultSet转换为整数
- 分析特定区域设置(而不是时区!)中的日期字符串
- moment.js在两个时区格式的日期之间存在差异
- 原生脚本无限翻译动画
- 获取本地时间的JS日期,日期对象中没有时区详细信息
- AngularJS无法使用translate值正确翻译
- 如何将此JS翻译成Angular2
- Kendo MVC日期选择器时区翻译
- 这个JavaScript时区函数最好翻译成Java双基元吗