Asp.net mvc 4 剑道日期时间选择器:需要返回UTC格式的日期

Asp.net mvc 4 剑道日期时间选择器:需要返回UTC格式的日期,asp.net-mvc-4,kendo-ui,kendo-datetimepicker,Asp.net Mvc 4,Kendo Ui,Kendo Datetimepicker,在我的MVC应用程序中,我使用UTC存储日期。在我看来,我这样做是为了在本地时间的日期时间选择器中显示日期 <div class="datetimepicker">@(Html.Kendo().DateTimePickerFor(m => m.StartDateTime).Value(Model.StartDateTime.ToLocalTime()))</div> @(Html.Kendo().DateTimePickerFor(m=>m.StartDateTi

在我的MVC应用程序中,我使用UTC存储日期。在我看来,我这样做是为了在本地时间的日期时间选择器中显示日期

<div class="datetimepicker">@(Html.Kendo().DateTimePickerFor(m => m.StartDateTime).Value(Model.StartDateTime.ToLocalTime()))</div>
@(Html.Kendo().DateTimePickerFor(m=>m.StartDateTime).Value(Model.StartDateTime.ToLocalTime())

问题在于,当在post方法中将datetimes返回给服务器时,它们是在本地时间返回的。有没有办法从视图中返回UTC格式的日期时间?

嗨,剑道中的datetimepicker我不知道,但我只是想,如果你能从datetimepicker获得值,并通过下面的函数将其转换为UTC,然后将其发送到服务器,我相信你的任务已经完成..sry如果我错了

function convertToUtc(str) {
    var date = new Date(str);
    var year = date.getUTCFullYear();
    var month = date.getUTCMonth()+1;
    var dd = dategetUTCDate();
    var hh = date.getUTCHours(); 
    var mi = date.getUTCMinutes();
    var sec = date.getUTCSeconds();

    // 2010-11-12T13:14:15Z

    theDate = year + "-" + (month [1] ? month : "0" + month [0]) + "-" + 
              (dd[1] ? dd : "0" + dd[0]);
   theTime = (hh[1] ? hh : "0" + hh[0]) + ":" + (mi[1] ? mi : "0" + mi[0]);
    return [ theDate, theTime ].join("T");
 }

您的问题很好,我们建议的方法包含在这个代码库中

这篇文章是关于在剑道数据网格中使用它的。你会如何使用日期时间选择器?哦,我以为日期选择器在网格中。基本上,当使用DateTimePicker进行常规提交时,无论您在KendoDatePicker中看到什么,都会将其提交到服务器。但是,在服务器上,将应用与代码库中描述的相同的转换,并且需要指定DateTime.Kind属性。我原则上同意,但我尝试将其付诸实践,结果证明非常困难。当在MVC环境中使用时,这个特殊的控件不会给您很多机会来操纵它的结果。