Есть время, написанное
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)
Обращаю внимание, что этот способ пересчитает часовой пояс в текущий:
Комментариев нет:
Отправить комментарий