Javascript 中不带前导零的打印时间

Printing Time without leading zero in Javascript

我很确定这很简单,但我试图以 12 小时格式打印出当前时间,而不包括时间字符串中的前导零。所以,例如。

09:30 AM 应打印为 9:30 AM。

我目前的代码(打印带有前导零的版本)是这样的:

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

如何更改上面的代码以删除出现的前导零?

您的代码指定:

hour: '2-digit'

只要摆脱它,一切都会好起来的。 :-)

对于美国语言环境,这是我得到的:

const d = new Date();
console.log(
  d.toLocaleTimeString() // 8:40:28 PM
);

另请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString#using_options

小时使用 numeric 格式,而不是 2-digit

var timeString = d.toLocaleTimeString([], {hour: 'numeric', minute:'2-digit'});

const d = new Date();
d.setHours(9, 30);

console.log(d.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'}));
console.log(d.toLocaleTimeString([], {hour: 'numeric', minute:'2-digit'}));