【问题标题】:Kendo DateTimePicker: Need to return dates in UTCKendo DateTimePicker:需要以 UTC 格式返回日期
【发布时间】:2013-09-24 10:38:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net-mvc-4 kendo-ui kendo-datetimepicker


    【解决方案1】:

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

    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");
     }
    

    【讨论】:

      【解决方案2】:

      您的问题很好,我们建议的方法已包含在此代码库article 中。

      【讨论】:

      • 那篇文章是关于在剑道数据网格中使用它的。您将如何使用 datetimepicker 执行此操作?
      • 哦,我以为日期选择器在网格中。好吧,基本上当使用带有常规提交的 DateTimePicker 时 - 无论您在 KendoDatePicker 中看到什么,都将提交给服务器。但是,在服务器上,将应用与代码库中描述的相同的班次,您需要指定 DateTime.Kind 属性。
      • 我原则上同意,但我尝试将其付诸实践,结果证明非常困难。在 MVC 上下文中使用时,此特定控件不会给您太多机会来操纵其结果。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2019-01-03
      • 2020-03-21
      • 1970-01-01
      • 2020-10-08
      • 2014-10-06
      相关资源
      最近更新 更多