Объект даты Javascript из строки в форме «ЧЧ-ММ»

Эй, просто интересно, как преобразовать строку HH:MM в объект Date JavaScript. Я пробовал new Date(string); и myDate.setTime(), но безрезультатно.

Побочным вопросом может быть: как преобразовать строку в HH:MM в миллисекунды с 1 января 1970 года.

Заранее благодарны за Вашу помощь.


person Fred    schedule 02.12.2010    source источник


Ответы (2)


в JavaScript я использую библиотеку datejs. http://www.datejs.com/ Если вы включите эту библиотеку, у вас будет функция с именем "parseExact" и вы можете использовать его так:

var dateString = "10-12";
var date = new Date.parseExact(dateString, "hh-mm");

Чтобы получить миллисекунды, вы можете загрузить файл time.js из http://code.google.com/p/datejs/source/browse/trunk/#trunk/src. Затем у вас есть функция getTotalMilliseconds(), которую вы можете использовать:

var mSeconds = date.getTotalMilliseconds();

Надеюсь, это немного поможет.

person EvilMM    schedule 02.12.2010
comment
Эй, спасибо за быстрый ответ. Извините, я пока не могу проголосовать за вас (достигнут предел), но теперь я понимаю, что мой вопрос был неправильным, я имел в виду HH:MM. Если ваш ответ все еще работает, тогда я счастлив. - person Fred; 02.12.2010
comment
Эта функция анализирует любую строку даты и времени. Посмотрите несколько примеров здесь: datejs.com/test/parseExact/index.html. . И эта функция также анализирует Date.parseExact(dateString, HH-MM). В моем варианте более безопасно и элегантно использовать метод парсера, а не делать это вручную. - person EvilMM; 02.12.2010
comment
P.S. Это много помогает. И спасибо за исчерпывающий ответ. - person Fred; 02.12.2010

Как насчет чего-то вроде:

//using timestr '10:33:21', could also be '10-33-21'
var dat = new Date, time = timestr.split(/\:|\-/g);
dat.setHours(time[0]);
dat.setMinutes(time[1]);
person KooiInc    schedule 02.12.2010
comment
На мой взгляд, это слишком ручно. Существуют методы синтаксического анализа, которые могут выполнить эту работу. - person EvilMM; 02.12.2010
comment
Как всегда [в javascript], в Рим ведет много дорог. Это одна из них. Я думаю, что полезно знать, что вы делаете, прежде чем переключаться на более абстрактные фреймворки или библиотеки. Это дело вкуса, я полагаю. - person KooiInc; 02.12.2010
comment
как насчет утра/вечера? - person ewizard; 28.07.2017