Я пользовательский связывающий обработчик, который возвращает время заданной даты:Date.getTime возвращает значения дифферента на ИО и Windows,
var item = allBindings().data;
var dateInit = new Date(item.Fecha());
var timezone = 0; //dateInit.getTimezoneOffset() * 60000;
var ticksInit = dateInit.getTime() + timezone;
var duration = item.Duracion() * 60 * 1000;
var ticksEnd = ticksInit + duration;
var hourInit = getShortTime(new Date(ticksInit));
var hourEnd = getShortTime(new Date(ticksEnd));
item.Fecha() является наблюдаемым, который содержит дату в формате JSON Формат: «2015-10-20T12: 00: 00» в этом случае
в браузере Windows, ticksInit имеет значение 1445335200000 но на Ipad имеет значение 1445342400000.
разница только два часа , похоже, что Ipad применяет корректор часового пояса.
Вы не должны ** ** никогда разбора строк с помощью конструктора Date, вручную разобрать его с помощью [* собственный парсер * ] (http://stackoverflow.com/questions/15517024/how-to-assume-local-time-zone-when-parsing-iso-8601-date-string) или хорошо сохранившаяся библиотека. В ES5 ISO-подобные форматы без часового пояса рассматриваются как UTC, в ECMAScript 2015 они рассматриваются как локальные (а в предыдущих версиях были зависимыми от реализации). Это объясняет разницу, равную смещению часового пояса. Кроме того, IE8 вернет NaN (он не будет изначально обрабатывать форматы ISO). – RobG
Это было бы намного проще с [moment.js] (http://momentjs.com). Кроме того, хорошо, что вы прокомментировали часовой пояс, потому что добавление тиков к дате - это неправильный способ компенсировать смещение часового пояса. –