从toLocaleTimeString中移除秒数
Remove seconds from toLocaleTimeString
本文关键字:toLocaleTimeString 更新时间:2023-09-26
Date.prototype.toLocaleTimeString()
方法返回一个字符串,该字符串具有该日期的时间部分的语言敏感表示形式。它可用于现代浏览器。
不幸的是,本机函数无法阻止秒的输出。默认输出hh:mm:ss
、hh:mm AM/PM
等时间格式。
second:秒的表示。取值为"
numeric
"、"2-digit
"。
来源:MDN参考
这意味着,你不能使用像{second: false}
这样的东西。
我正在寻找一个简单愚蠢的解决方案,以从hh:mm:ss
格式化的字符串中删除秒。
var date = new Date();
var time = date.toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'});
console.log(time); // 15:24:07
这个正则表达式不工作:
time.replace(/:'d'd( |$)/,'');
time.replace(/('d{2}:'d{2})(?::'d{2})?(?:am|pm)?/);
您可以使用:
var time = date.toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'})
.replace(/(:'d{2}| [AP]M)$/, "");
btw Google Chrome
返回
new Date().toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'});
作为"12:40 PM"
只是添加另一种可能的组合来实现这一点:
(new Date()).toLocaleTimeString().match(/'d{2}:'d{2}|[AMP]+/g).join(' ')
相关文章:
- 如何仅显示从javascript date.toLocaleTimeString()开始的小时和分钟
- 英国语言环境短格式和长格式的“Intl.toLocaleTimeString”行为不一致
- 如何使用 .toLocaleTimeString() 而不显示秒
- 如何使用toLocaleTimeString设置不带时间的日期格式
- Javascript's的date对象toLocaleTimeString添加了一个小时
- Node JS toLocaleTimeString在不同环境下表现有趣服务器VS笔记本电脑
- 从toLocaleTimeString中移除秒数
- JavaScript toLocaleTimeString() -在Firefox中不能正常工作
- Chrome toLocaleTimeString()
- toLocaleTimeString()返回24小时或12小时的时间