Kendo DateTimePicker: нужно возвращать даты в формате UTC

В моем приложении MVC я храню даты в формате UTC. На мой взгляд, я делаю это, чтобы показать даты в средствах выбора даты и времени по местному времени.

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

Проблема в том, что когда даты и время возвращаются в почтовых методах обратно на сервер, они возвращаются по местному времени. Есть ли способ вернуть дату и время в формате UTC?


person Sachin Kainth    schedule 24.09.2013    source источник


Ответы (2)


Привет, 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");
 }
person codebreaker    schedule 24.09.2013

Ваш вопрос хороший, и подход, который мы предлагаем, описан в этой библиотеке кода статья.

person Petur Subev    schedule 24.09.2013
comment
Эта статья посвящена использованию его в сетке данных кендо. Как бы вы сделали это с помощью средства выбора даты и времени? - person Matt Johnson-Pint; 24.09.2013
comment
О, я думал, что средство выбора даты находится в сетке. Ну, в основном при использовании DateTimePicker с обычной отправкой - все, что вы видите в KendoDatePicker, будет отправлено на сервер. Однако на сервере будет применен тот же сдвиг, что описан в библиотеке кода, и вам нужно будет указать свойство DateTime.Kind. - person Petur Subev; 25.09.2013
comment
Я согласен в принципе, но я попытался применить это на практике, и это оказалось очень сложно. При использовании в контексте MVC этот конкретный элемент управления не дает вам много возможностей манипулировать его результатами. - person Matt Johnson-Pint; 25.09.2013