jQuery.Gantt Дата выпуска
Я пытаюсь внедрить jQuery.Gantt ( http://taitems.github.io/jQuery.Gantt/) в сайт, над которым я работаю. У меня странная проблема с объектами Date. Для целей тестирования я создал "Вехи" январь-декабрь, каждый из которых имеет дату начала ТО месяца - 16 - 2012. Каждый из них имеет одинаковую дату окончания сегодняшней даты, 3 июня 2013 года.
Каждая из дат начала отображается на один день позже (МЕСЯЦ - 17, 2012). Конечные даты становятся странными: январь, февраль, ноябрь и декабрь все заканчиваются в правильной точке на временной шкале, 3 июня 2013 года. Восемь месяцев между ними заканчиваются днем с опозданием на 4 июня 2013 года.
Я ознакомился со спецификациями для своих объектов даты, и моя функция строит их в правильном формате:
_getDatesforMilestone = function(milestone){
var testData = [];
var toDate = milestone.completeDate.split("-");
var fromDate = milestone.originalDate.split("-");
toDate = new Date(toDate[0], toDate[1]-1, toDate[2]);
fromDate = new Date(fromDate[0], fromDate[1]-1, fromDate[2]);
testData = [
{"from": "/Date(" + fromDate.getTime() + ")/", "to": "/Date(" + toDate.getTime() + ")/", "desc": "", "label": milestone.title, "customClass": "ganttDefault " + milestone.id + ""}
];
return testData
},
Кто-нибудь еще сталкивался с этой проблемой, или знает, почему 8 месяцев между ними вернутся так? Мысли сразу вспомнились о том, что 30/31 число дней в месяцах или даже в прошлом году было високосным, но сейчас я потерял сознание.
1 ответ
Это может быть немного поздно, но может оказаться полезным для тех, кто ищет решения этой проблемы.
А именно, я только что столкнулся с подобной проблемой (даты отображаются как на один день раньше), и после небольшого возни я понял, что это связано с местным часовым поясом.
В основном, поскольку я в настоящее время нахожусь в России, местный часовой пояс GMT+4, поэтому, если мое поле DateTime имеет значение мм / дд / гггг 03:59:00 AM, дата будет отображаться на день раньше. Однако, как только я установил дату в мм / дд / гггг 04:00:00 утра, дата будет правильно отображаться на временной шкале.
Поскольку я не собираюсь быть человеком, вводящим даты в систему, и, поскольку я нахожу эту "функцию" правильной и весьма полезной, я не буду возиться с обработкой дат, но в руководстве пользователя я задам вопрос входной человек всегда вводит время в формате GMT, и это должно предотвратить любые проблемы.
Надеюсь, это поможет!
С наилучшими пожеланиями