Метод 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");
Автор: ares4322 (не зарегистрирован), дата: 26 марта, 2010 - 13:07
#permalinkВ firefox 3.5.8 для Linux "-" в коротком формате записи даты обрабатывается как ошибочный
Автор: Александр Девелопер (не зарегистрирован), дата: 14 декабря, 2010 - 13:39
#permalinkв файерфоксе вообще Date.parse() работает немного не так.
Для FF формат даты должен быть Year-mm-dd, например: 2010-12-14
Автор: Гость (не зарегистрирован), дата: 25 апреля, 2011 - 10:45
#permalinkПодскажите, мне нужно строку со временем в формате 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 "Текущее время больше даты"; }Автор: Гость (не зарегистрирован), дата: 20 мая, 2011 - 01:44
#permalinkНа самом деле сравнение, можно проводить через строки - без лишних преобразований. Формат который используется в FF - очень удобен для строчного сравнения.
Автор: Гость (не зарегистрирован), дата: 22 июня, 2011 - 16:02
#permalinkНе могу понять как получить текущую дату в формате
01.06.2011 10:01:11
Автор: Гость (не зарегистрирован), дата: 22 июня, 2011 - 17:19
#permalinkПро получение текущей даты...
решил проблему чудовищным способом
может можно как-то по другому?
Автор: medic_911 (не зарегистрирован), дата: 9 февраля, 2012 - 10:30
#permalinkDate.parse() выдает неправильный результат для GMT+ 7. Сервер находится GMT+ 4. Все даты на сутки назад. В чем может быть проблема?
Автор: Асланали (не зарегистрирован), дата: 11 августа, 2012 - 15:32
#permalinkЗдравствуйте.
Как перевести дату 'FRI, 10 AUG 2012 08:29:29 +0000' примерно к такому '9 августа 2012 г., 12:21:09'?
Автор: Гость (не зарегистрирован), дата: 22 ноября, 2012 - 19:36
#permalinkЭта штука прекрасно парсит неверные даты, типа Date.parse("2012/13/22"). Получаем 22 января 2013. Хотел применить для валидации
Автор: Гость (не зарегистрирован), дата: 14 января, 2013 - 22:46
#permalinkobj_hours=document.getElementById("date");
name_month=new Array ("Января","Февраля","Марта", "Апреля","Мая", "РСЋРЅСЏ","Рюля","Августа","Сентября", "Октября","РќРѕСЏР±СЂСЏ","Декабря");
name_day=new Array ("Воскресенье","Понедельник", "Вторник","Среда","Четверг", "Пятница","Суббота");
function wr_hours()
{
time=new Date();
time_sec=time.getSeconds();
time_min=time.getMinutes();
time_hours=time.getHours();
time_wr=((time_hours<10)?"0":"")+time_hours;
time_wr+=":";
time_wr+=((time_min<10)?"0":"")+time_min;
time_wr+=":";
time_wr+=((time_sec<10)?"0":"")+time_sec;
time_wr=""+name_day[time.getDay()]+" "+time.getDate()+" "+name_month[time.getMonth()]+" "+time.getFullYear()+" "+time_wr;
obj_hours.innerHTML=time_wr;
}
wr_hours();
setInterval("wr_hours();",1000);
что тут неправильно?
Автор: mankey, дата: 24 декабря, 2014 - 18:54
#permalink>> Для краткого формата даты допускается использование разделителей "/" или "-"
Firefox (v34) НЕ понимает следующее выражение
new Date('12-31-2014') // Invalid Date
Т.е. существует проблема либо с поддержкой либо с переводом RFC.
Автор: Hyper-S (не зарегистрирован), дата: 15 июля, 2018 - 17:03
#permalinkДобрый день!
Подскажите пожалуйста к преобразовать дату: 'вс, 15 июл. 2018 12:40:57 +0300'
в любое другое стандартное значение.