我目前试图显示用户的时间而不显示秒。是否有一种方法,我可以这样做使用Javascript的.toLocaleTimeString()?

做这样的事情:

var date = new Date();
var string = date.toLocaleTimeString();

将显示用户的时间与每个单位,例如,目前显示为3:39:15 PM。我是否能够显示相同的字符串,只是没有秒?(例如下午3时39分)


当前回答

你可以设置选项,在这个页面上你可以设置,去掉秒,像这样

var dateWithouthSecond = new Date();
dateWithouthSecond.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});

支持Firefox、Chrome、IE9+和Opera。在你的web浏览器控制台试试。

其他回答

由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');
}

使用locale:

var date = new Date();
date.toLocaleTimeString('fr-FR', {hour: '2-digit', minute: '2-digit'})

带日期,小时无前导0:

let d = new Date(2022, 2, 21, 7, 45, 0);
let s = d.toLocaleString([], { dateStyle: 'short', timeStyle: 'short' });
console.log(s);
// '2/21/22, 7:45 AM'

所有现代浏览器都支持这一点。

你可以设置选项,在这个页面上你可以设置,去掉秒,像这样

var dateWithouthSecond = new Date();
dateWithouthSecond.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});

支持Firefox、Chrome、IE9+和Opera。在你的web浏览器控制台试试。

这对我来说很管用:

var date = new Date();
var string = date.toLocaleTimeString([], {timeStyle: 'short'});