формат времени я получаю от сервера: 2015-05-20 18:00:00
GMT
Если да, то вы можете легко массировать, что в таком формате, который ES5 и более высокие браузеры are supposed to support, которые были бы 2015-05-20T18:00:00Z
для примера:
var yourString = "2015-05-20 18:00:00";
var dt = new Date(yourString.replace(' ', 'T') + "Z");
var hours = dt.getHours(); // Will be local time
var minutes = dt.getMinutes(); // Will be local time
Тогда просто форматировать значения по hours
и minutes
вы получаете в нужная строка hh:mm
.
Примечание: Z
в конце строки важно. К сожалению, спецификация ES5 имеет значительную ошибку в ней (они фиксируют ее в ES6) вокруг того, что должен делать движок, если не существует часового пояса для обрабатываемой строки. Некоторые двигатели делают то, о чем говорит спецификация, другие делают то, что говорят (а спецификация ES6 будет), что, к сожалению, означает, что прямо сейчас вы не можете доверять тем, что делают браузеры, если нет часового пояса на Струна.
Где/как вы получаете дату в первую очередь? –
Возможный дубликат [Преобразование даты времени UTC в локальное время с использованием JavaScript] (http://stackoverflow.com/questions/6525538/convert-utc-date-time-to-local-date-time-using-javascript) –