2014-12-11 6 views
0

У меня есть таблица в моей базе данных SQL Server с двумя колонками «whenDateTime» (DateTime, нуль) «длительности» (время (7), нуль)Странная преобразование времени и дата и время формата в knockout.JS

с моей JavaScript я называю JSON-сервис с

$.getJSON("myService/GetAllHappenings", 
    function (allData) { 
     var mappedAction = $.map(allData, function (item) { 
       return new Happening(item) 
     }); 
     self.Happenings(mappedAction); 

     //... some other code... 
}); 

где

self.Happenings = ko.observableArray(); 

При осмотре "MYSERVICE/GetAllHappenings", как URL в браузере (Firefox) Я получаю:

<duration>PT1M</duration> 
<whenDateTime>2014-11-12T11:26:00</whenDateTime> 

В базе данных значения являются:

sduration   whenDateTime 
00:01:00.0000000 2014-11-12 11:26:00.000 

Но когда я пошагово $ .getJSON значения не одобрены до линии

self.Happenings(mappedAction); 

До этого line mappedAction содержит данные

"2014-11-12T11:26:00" 
"00:01:00" 

Но только после этой строки данные преобразуются в

"30.06.2020 11:26" 
"00:00" 

Как это может произойти? И как я могу это исправить?

+3

Да, я столкнулся с такими сценариями, и эффективное исправление должно не использовать 'datetime' type use' string', поэтому datetime будет устойчивым к & fro (контроллер <--> viewmodel) –

+0

Хороший совет! Thanx. Однако нашел причину: я привязывал переменные к полям ввода и Trent Richardsons datetimepicker. Я не думал, что фактическое обязательство находило место на шаг за шагом, но я обнаружил, что это была ошибка «datetimepickers». Итак, теперь я использую парсер для Date and Time. –

+0

Удачи. Всегда будьте осторожны при работе с датой/датой. cheers –

ответ

0

я думаю super cool's answer хороший. Я столкнулся с странными проблемами, пытающимися создать экземпляр jQuery-UI datepickers поверх <input type="text"> элементов, которые должны отображать datetimes, когда я отправляю их как datetimes.

Смежные вопросы