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, и это должно предотвратить любые проблемы.

Надеюсь, это поможет!

С наилучшими пожеланиями

Другие вопросы по тегам