【发布时间】:2014-07-28 00:19:47
【问题描述】:
Date.prototype.toLocaleTimeString() 方法返回一个字符串,该字符串具有该日期时间部分的语言敏感表示。它适用于现代浏览器。
很遗憾,原生函数无法阻止秒输出。默认情况下,它会输出hh:mm:ss 或hh:mm AM/PM 等时间格式。
second:秒的表示。可能的值为“
numeric”、“2-digit”。
这意味着你不能使用{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)?/);
【问题讨论】:
-
@Halcyon 谢谢,但这不起作用jsfiddle.net/e73GY
-
time = time.substr(0,5);doofus :P
标签: javascript regex date