Метод parse получает строку с датой (напр. "Jan 03, 2000") и возвращает целое число, представляющее собой количество миллисекунд, истекших с полуночи 1 января 1970 года GMT+0 до даты, указанной в параметре dateVal.
Это статический метод, который можно вызывать без создания объекта даты, поэтому для доступа к нему используется форма Date.parse, а не объект .parse.
var d = new Date();
d.setTime(Date.parse("21 May 1958 10:12"));
document.write(d.toLocaleString());
// Выведет на экран следующий результат:
Wednesday, May 21, 1958 10:12:00
В случае, если метод parse не смог разобрать переданную ему в качестве параметра строку, он возвращает значение NaN.
Правила разбора строки
Поддерживается стандарт IETF standard (RFC 1123, раздел 5.2.14 и т.д.)
Существуют следующие правила перевода даты из текстовой строки:
- Для краткого формата даты допускается использование разделителей "/" или "-", но порядок элементов должен быть строго "месяц/день/год", например "7/20/96".
- Для полного формата даты порядок указания элементов может быть произвольным. Если используется два знака для обозначения года, то число должно быть меньше 70 для указания 21-го века. Например "July 10 1995".
- Любой текст в круглых скобках рассматривается как комментарии. Комментарии могут быть вложенными, например: "July 10 1995 (this (1234) is a comment)".
- Запятые и пробелы рассматриваются как разделители, могут повторяться.
- Месяца и дни недели должны иметь два и больше знаков. Если в двузначном написании элементы становятся идентичными, то используется последнее значение, например "Ju" это Июль, а не Июнь.
- Если в полном формате даты указан неверный день недели, то он игнорируется.
Яваскрипт обрабатывает все стандартные временные зоны, включая UTC и GMT.
- Значения для часов, минут и секунд могут быть пропущены, например "10:", "10:11", и "10:11:12".
- Если время указано в 24-часовом формате, то указание полудня считается ошибкой, например "23:15 PM" - ошибка.
- Строка, содержащая неправильную дату - ошибочна. Например, строка содержащая два года или два месяца.
IPOdate.setTime(Date.parse("Aug 9, 1995")) ;
// Возвращает 807937200000 в зоне GMT-0300,
// и другие значения в других зонах, так как зона
// не указана в аргументе
Date.parse("Aug 9, 1995");
// Возвращает 807926400000 в любой зоне.
Date.parse("Wed, 09 Aug 1995 00:00:00 GMT");
В firefox 3.5.8 для Linux "-" в коротком формате записи даты обрабатывается как ошибочный
в файерфоксе вообще Date.parse() работает немного не так.
Для FF формат даты должен быть Year-mm-dd, например: 2010-12-14
Подскажите, мне нужно строку со временем в формате 2011-04-25 12:00:00 (из PHP кода) использовать в JS функции, для проверки, больше ли текущее время чем заданная дата.
Проще говоря мне нужен аналог функции на ПХП сделать в яваскрипт, переменная perehod будет брать время из базы данных.
$perehod=2011-04-25 12:00:00; if (strtotime(date("Y-m-d H:i:s")) < strtotime($perehod)){ echo "Текущее время меньше даты"; exit; }else{ echo "Текущее время больше даты"; }var perehod = '2011-04-25 12:00:00'; if ( (new Date(perehod.replace(/(\d+)-(\d+)-(\d+)/, '$2/$3/$1'))) < (new Date()) ) { ... }На самом деле сравнение, можно проводить через строки - без лишних преобразований. Формат который используется в FF - очень удобен для строчного сравнения.
Не могу понять как получить текущую дату в формате
01.06.2011 10:01:11
Про получение текущей даты...
решил проблему чудовищным способом
может можно как-то по другому?
new Date(new Date().getTime())
но он не об этом
Date.parse() выдает неправильный результат для GMT+ 7. Сервер находится GMT+ 4. Все даты на сутки назад. В чем может быть проблема?
Докапался:
если парсить дату Thu Feb 09 2012 00:00:00 GMT+0700 то вычитается разница в часовых поясах, т.е. на выходе получим Thu Feb 08 2012 21:00:00 GMT+0400!!!!!
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.