如果小于10,则JavaScript显示小于零之前的小时

rjb*_*ogz 8 javascript formatting time date

使用时:

Date.toLocaleTimeString()
Run Code Online (Sandbox Code Playgroud)

有没有办法让它显示01:42:35 PM而不是1:42:35 PM

我试过添加这个:

Date.toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit', second: '2-digit'})
Run Code Online (Sandbox Code Playgroud)

但它仍然只产生一个小时的数字(除非它是在10之后).

rec*_*ive 4

如果我的阅读是正确的,根据相关规范,这似乎是故意的。

  • 否则如果 f 是“2 位数字”,则
    • 令 fv 为 FormatNumber(nf2, v)。
    • 如果fv的长度属性大于2,则令fv为fv中包含最后两个字符的子串。

我不明白为什么会这样指定,但就是这样。如果你想进行零填充,似乎你只需要自己添加它即可。