Функция объекта Date() { [собственный код] } не имеет метода 'compareTo' при использовании Date.js в Chrome.

У меня есть две переменные даты и времени в javascript:

first_date = Date.parse('05/21/2012 0:00:00 ');
second_date = Date.today();

Если я использую ( http://code.google.com/p/datejs/wiki/APIDocumentation#compareTo )

return first_date.compareTo(second_date)

тогда возникает исключение:

Object function Date() { [native code] } has no method 'compareTo' в Google Chrome.

Я использую последнюю версию Date.js с сайта http://www.datejs.com/.

Как решить эту проблему?

Отмечу, что другие функции (add(-5).days(), today() и т. д.) работают нормально.

PS: я посмотрел здесь ( http://code.google.com/p/datejs/issues/detail?id=129 ), но нет обходного пути.


person Snake Eyes    schedule 25.05.2012    source источник
comment
first_date - это не дата, это строка, так что это объясняет, почему у него нет метода compareTo. Вы несколько раз упоминаете Chrome — означает ли это, что ваш код работает в других браузерах или что вы не тестировали его в других браузерах? Последняя версия date.js, которую я скачал, похоже, не определяла метод compare, а только compareTo.   -  person nnnnnn    schedule 25.05.2012


Ответы (2)


first_date и second_date являются строками в соответствии с вашим кодом, а Date.compare даже не существует, если только вы не используете ссылку версия svn-trunk.

datejs определяет Date.prototype.compareTo, поэтому вы можете использовать только date_obj_a.compareTo(...).

person ThiefMaster    schedule 25.05.2012

person    schedule
comment
У меня ошибка Object function Date() { [native code] } has no method 'compare'... - person Snake Eyes; 25.05.2012
comment
Почему бы просто не удалить toString во второй строке вместо преобразования даты-›строки-›даты? - person ThiefMaster; 25.05.2012
comment
Я изменил переменные, но та же ошибка. Chrome не видит функции compare или compareTo !!! - person Snake Eyes; 25.05.2012
comment
@MichaelSwan - последний файл date.js не определяет compare (независимо от того, что говорится в документации). - person nnnnnn; 25.05.2012
comment
Да, я понял, но я удалил сравнение и использовал compareTo - person Snake Eyes; 25.05.2012
comment
@MichaelSwan да, вы должны использовать compareTo() - person thecodeparadox; 25.05.2012