#javascript #дата #время
Есть время, написанное
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?
Ответы
Ответ 1
Распарсить дату, получить из неё всё необходимое и отформатировать: ВНИМАНИЕ: Если есть сразу дата, то конвертировать её в строку, а затем парсить НЕ надо! 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) Обращаю внимание, что этот способ пересчитает часовой пояс в текущий:Ответ 2
Data = new Date(); Hour = Data.getHours(); Minutes = Data.getMinutes(); Seconds = Data.getSeconds(); document.write('Текущее время: '+Hour+':'+Minutes+':'+Seconds);
Комментариев нет:
Отправить комментарий