Введена сегодняшняя дата?
Здравствуйте.
Помогите решить простейшую задачу: введена дата и время, нужно узнать сегодняшняя это дата или нет. Дата и время вводятся в одно поле в формате "dd.mm.yyyy hh:mm". При попытках решения столкнулся со следующими нюансами: 1) Date.Parse() воспринимает строку в американском формате, т.е. "13.05.2014" - Invalid Date, т.к. у них сперва пишут месяц, потом число 2) а что и с чем, собственно, сравнивать? как получить сегодняшнюю дату? Date.now() возвращает дату и время в миллисекундах.. Как отбросить время? Чтобы полученную дату сравнить с той, что будет получена от пользователя? Заранее благодарю! |
|
Цитата:
|
var dateStr = "13.05.2014"; var ms = Date.parse(dateStr.replace(/^(\d+)\.(\d+)\./, '$2-$1-')); alert(new Date(ms)); |
Hold,
var dateStr = "8.12.2014 11:30", ms = Date.parse(dateStr.replace(/^(\d+)\.(\d+)\./, "$2-$1-")); alert((new Date(ms)).setHours(0, 0, 0, 0) == (new Date).setHours(0, 0, 0, 0)); |
Спасибо за ответы, господа!
P.s. рони, твое решение прям скопипастил! :dance: про setHours не знал( |
Нафиг на Date.parse() полагаться.
var date = "8.12.2014 11:30".match(/\d+/g); date = new Date(date[2], date[1]-1, date[0], date[3], date[4]); alert(date); P.S. При сравнении не стоит забывать о часовом поясе. |
Часовой пояс GMT +3, время: 13:23. |