Страницы

Поиск по вопросам

понедельник, 24 декабря 2018 г.

Как из полной даты выводить только часы, минуты и секунды?

Есть время, написанное
Tue Jul 04 2017 23:10:46 GMT+0300 (Беларусь (зима))
Но мне нужно чтобы я мог получить в переменную только эту часть "23:10:46".Подскажите, как это сделать?
P.s.: Эту дату я получаю из миллисекунд, возможно есть способ получить время не посредственно из них?
var time = 1499199458; var date = new Date(+time * 1000); var h, m, s; h = date.getHours(); m = date.getMinutes(); s = date.getSeconds(); var correct_date = h + ':' + m + ':' + s; console.log(correct_date);
Поскольку время в таком виде мне нужно было только для вставки его в Html такой вариант вполне меня устраивает. Но если не сложно то подскажите, как сделать так что бы когда кол-во часов, минут или секунд меньше 10 я получал например 01:09:05, а не 1:9:5?


Ответ

Распарсить дату, получить из неё всё необходимое и отформатировать:
ВНИМАНИЕ: Если есть сразу дата, то конвертировать её в строку, а затем парсить НЕ надо!
var s = "Tue Jul 04 2017 23:10:46 GMT+0300 (Беларусь (зима))" console.log(s) var d = new Date(s) console.log(d+"") console.log(d) var res = [d.getHours(), d.getMinutes(), d.getSeconds()].map(function (x) { return x < 10 ? "0" + x : x }).join(":") console.log(res)
Обращаю внимание, что этот способ пересчитает часовой пояс в текущий:

Комментариев нет:

Отправить комментарий