date.js метод Parse переопределяет Javascript метод Parse - PullRequest
2 голосов
/ 28 октября 2011

Я включаю библиотеку date.js на свой сайт, потому что мне нужна ее функциональность.

Я только что понял, что стандартный метод Javascript parse() перезаписывается им.

Я пытаюсь построить линейную диаграмму в Highcharts, и ряд данных хочет, чтобы первый элемент был в миллисекундах (их демонстрации показывают, что для этого используется метод Date.UTC(), но мои данныевернулся в другом формате).

Если не считать кучу манипуляций со строками, чтобы перевести мои данные в формат, который распознает Date.UTC, есть ли другой способ получить стандартную функциональность Javascript parse(), пока загружается date.js?

Ответы [ 4 ]

7 голосов
/ 29 октября 2011

Я знаю, что это не является прямым решением вашей проблемы, но в любом случае может помочь.

Если вам нужна полнофункциональная библиотека дат, которая не изменяет нативный объект Date, я написал библиотеку Moment.js.

Он предоставляет множество вещей, которые предоставляет DateJS (форматирование, анализ, манипулирование, timeago, i18n и т. Д.), Но он меньше, быстрее и не портит собственный прототип даты.

https://github.com/timrwood/moment

1 голос
/ 28 октября 2011

Вы можете указать Highcharts не использовать дату UTC:

Highcharts.setOptions({
    global: {
        useUTC: false
    }
});

Вы должны сделать это до того, как создадите диаграмму.Тогда вам не придется беспокоиться о конвертации дат в UTC, это будет проще.

1 голос
/ 28 октября 2011

Нет, это намеченный дизайн date.js. Это добавляет к «прототипу» объекта Date. Некоторые люди ненавидят это, другим это нравится, но вы обнаружили один из недостатков этого дизайна.

0 голосов
/ 19 сентября 2014

после того, как я задал вопрос, я пошел дальше и сделал это следующим образом:

d = Date.parse(data);
            y = d.getFullYear();
            m = d.getMonth();
            d = d.getDate();
            dUTC = Date.UTC(y, m, d);

, но теперь попробую ваши предложения.

...