Как показать только часы и минуты от javascript date.toLocaleTimeString()?
Может ли кто-нибудь помочь мне получить формат HH:MM am/pm
вместо HH:MM:SS am/pm
.
Мой код JavaScript:
function prettyDate2(time){
var date = new Date(parseInt(time));
var localeSpecificTime = date.toLocaleTimeString();
return localeSpecificTimel;
}
Возвращает время в формате HH:MM:SS am/pm
, но для меня требуется клиент HH:MM am/pm
.
Пожалуйста, помогите мне.
Заранее спасибо.
Ответы
Ответ 1
Вы можете сделать это:
function prettyDate2(time){
var date = new Date(parseInt(time));
var localeSpecificTime = date.toLocaleTimeString();
return localeSpecificTime.replace(/:\d+ /, ' ');
}
Регулярное выражение удаляет секунды из этой строки.
Более общая версия ответа @CJLopez:
function prettyDate2(time) {
var date = new Date(parseInt(time));
return date.toLocaleTimeString(navigator.language, {
hour: '2-digit',
minute:'2-digit'
});
}
Ответ 2
Вот более общая версия этого вопроса, которая охватывает локали, отличные от en-US. Кроме того, могут возникать проблемы, анализирующие вывод fromLocaleTimeString(), поэтому CJLopez предлагает использовать это вместо этого:
var dateWithouthSecond = new Date();
dateWithouthSecond.toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'});
Ответ 3
Используйте библиотеку Intl.DateTimeFormat.
function prettyDate2(time){
var date = new Date(parseInt(time));
var options = {hour: "numeric", minute: "numeric"};
return new Intl.DateTimeFormat("en-US", options).format(date);
}
Ответ 4
Вы также можете попробовать:
function timeformat(date) {
var h = date.getHours();
var m = date.getMinutes();
var x = h >= 12 ? 'pm' : 'am';
h = h % 12;
h = h ? h : 12;
m = m < 10 ? '0'+m: m;
var mytime= h + ':' + m + ' ' + x;
return mytime;
}
или что-то вроде этого:
new Date('16/10/2013 20:57:34').toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3")
Ответ 5
Я разместил свое решение здесь fooobar.com/info/309832/...
var textTime = new Date(sunriseMills + offsetCityMills + offsetDeviceMills)
.toLocaleTimeString('en-US', { hour: 'numeric', minute: 'numeric' });