Вы можете использовать Date.parse
, но при использовании с new Date
вы получите объект Date в текущем часовом поясе , поэтому с разными значениями часов на разных компьютерах.
Более надежный вариант - использование регулярных выражений. Если формат всегда такой, как вы опубликовали, то часы можно получить с помощью следующего регулярного выражения:
/ (\d+):/
, что означает:
- пробел
- одна или несколько цифр
- двоеточие
Для минут это нечто похожее, но они окружены двоеточием с обеих сторон:
/:(\d+):/
Затем вы можете разобрать числа с помощью .exec(str)[1]
, где 1
- группа 1, определенная с помощью паренов.
Преобразование в число можно выполнить с помощью +str
:
var str = "Sun Nov 27 2011 06:30:00 GMT+0200 (EET)",
hours = +/ (\d+):/.exec(str)[1]; // 6
minutes = +/:(\d+):/.exec(str)[1]; // 30