我目前试图显示用户的时间而不显示秒。是否有一种方法,我可以这样做使用Javascript的.toLocaleTimeString()?
做这样的事情:
var date = new Date();
var string = date.toLocaleTimeString();
将显示用户的时间与每个单位,例如,目前显示为3:39:15 PM。我是否能够显示相同的字符串,只是没有秒?(例如下午3时39分)
我目前试图显示用户的时间而不显示秒。是否有一种方法,我可以这样做使用Javascript的.toLocaleTimeString()?
做这样的事情:
var date = new Date();
var string = date.toLocaleTimeString();
将显示用户的时间与每个单位,例如,目前显示为3:39:15 PM。我是否能够显示相同的字符串,只是没有秒?(例如下午3时39分)
当前回答
你可以试试这个,它能满足我的需求。
var d = new Date();
d.toLocaleTimeString().replace(/:\d{2}\s/,' ');
or
d.toLocaleString().replace(/:\d{2}\s/,' ');
其他回答
你可以试试这个,它能满足我的需求。
var d = new Date();
d.toLocaleTimeString().replace(/:\d{2}\s/,' ');
or
d.toLocaleString().replace(/:\d{2}\s/,' ');
由Date.prototype.toLocaleString返回的值是依赖于实现的,所以你得到你得到的。您可以尝试解析字符串以删除秒,但在不同的浏览器中可能有所不同,因此您需要考虑使用的每种浏览器。
使用Date方法创建自己的明确格式并不困难。例如:
function formatTimeHHMMA(d) {
function z(n){return (n<10?'0':'')+n}
var h = d.getHours();
return (h%12 || 12) + ':' + z(d.getMinutes()) + ' ' + (h<12? 'AM' :'PM');
}
你可以设置选项,在这个页面上你可以设置,去掉秒,像这样
var dateWithouthSecond = new Date();
dateWithouthSecond.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
支持Firefox、Chrome、IE9+和Opera。在你的web浏览器控制台试试。
我想让它有日期和时间,但没有秒,所以我用了这个:
var dateWithoutSecond = new Date();
dateWithoutSecond.toLocaleTimeString([], {year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit'});
它产生了以下输出:
2020年7月29日,下午2:46
这正是我所需要的。使用过FireFox。
我认为最初的问题可以很容易地用迄今为止被忽略的东西来回答:简单的字符串分割。返回的时间是一个文本字符串,只需在“:”分隔符上拆分它,并按您想要的方式重新组装字符串。没有插件,没有复杂的脚本。你看:
var myVar=setInterval(function(){myTimer()},1000);
function myTimer() {
var d = new Date();
currentNow = d.toLocaleTimeString();
nowArray = currentNow.split(':');
filteredNow = nowArray[0]+':'+nowArray[1];
document.getElementById("demo").innerHTML = filteredNow;
}