Есть ли способ извлечь строку времени из времени UTC в Javascript - PullRequest
0 голосов
/ 19 января 2019

У меня есть дата UTC, то есть Sat, 19 Jan 2019 05:40:07 GMT.Я хочу извлечь строку времени из указанной даты, т.е. 05:40:07.все методы, которые я пробовал до сих пор, чтобы получить timestamp.Итак, я написал свой собственный код ниже, чтобы извлечь время

var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
console.log(date.toISOString().split("T")[1].split(".")[0]);

т.е. сначала конвертируйте дату в формат ISO, а затем разделяйте ее

Есть ли другой способ получить это без конвертации в любой другой формат, потому что мой методправильно, если нет прямого процесса для его приобретения?

Ответы [ 4 ]

0 голосов
/ 19 января 2019

Не знаю, JSON - это еще один формат для вас?Если нет, то вы можете сделать это следующим образом:

var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
console.log(date.toJSON().split("T")[1].split(".")[0]);
//or even shorter:
console.log(date.toJSON().slice(-13, -5));

Это немного короче, чем ваш метод.

В другом случае вы можете сделать это следующим образом:

var dateStr = 'Sat, 19 Jan 2019 05:40:07 GMT'; 
var date = new Date(dateStr); 
console.log(dateStr.slice(-12, -4));
0 голосов
/ 19 января 2019
   var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
   var result=date.getUTCHours()+':'+date.getUTCMinutes()+':'+date.getUTCSeconds();
0 голосов
/ 19 января 2019

Итак, я не смог найти другой способ, более привлекательный, чем мой:)

var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
console.log(date.toISOString().split("T")[1].split(".")[0]);
0 голосов
/ 19 января 2019

Как насчет toLocaleTimeString()?

var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
console.log(date.toLocaleTimeString('en-US', {timeZone: 'UTC', hour12: false}));

Если вы хотите полностью избежать объекта Date, вы можете просто проанализировать строку:

var date = 'Sat, 19 Jan 2019 05:40:07 GMT'
var timeRegex = /(\d\d):(\d\d):(\d\d)/
console.log(timeRegex.exec(date)[0])
...