如何在不显示 AM/PM 的情况下使用 .toLocaleTimeString()?
How do I use .toLocaleTimeString() without displaying AM/PM?
如何在 Javascript 中显示格式为“HH:MM”的数字时钟?
下面的代码以“HH:MM AM/PM”的格式显示数字时钟。
main.js
const d = new Date();
const cFormat = d.toLocaleTimeString([], {
hour: "2-digit",
minute: "2-digit",
});
编辑:虽然下面的代码有效,但我想知道是否有办法通过“.toLocaleTimeString()”实现。
const d = new Date();
const cFormat = d.toLocaleTimeString('en-US', {hour: "2-digit",minute: "2-digit"});
cFormat.replace("AM", "").replace("PM", "");
console.log( 'cFormat -> ', cFormat )
这样
const HH_MM = {hour: '2-digit', minute: '2-digit' }
let cFormat = new Date()
.toLocaleTimeString('en-US', HH_MM)
.replace(/AM|PM/,'')
console.log( 'cFormat -> ', cFormat )
const d = new Date();
const cFormat = d.toLocaleTimeString('en-US', {hour: "2-digit",minute: "2-digit", hour12: true});
cFormat.replace("AM", "").replace("PM", "");
console.log( 'cFormat -> ', cFormat )
replace
函数在原地不起作用,这意味着它不会影响原始字符串。它只是 returns 一个新字符串,所以即使在您给出的答案中,您仍然会得到 AM。你可以这样调整它:
const d = new Date();
const cFormat = d.toLocaleTimeString('en-US', {hour: "2-digit",minute: "2-digit"}).replace(/AM|PM/g, "").trim();
console.log(cFormat)
我知道您想找到一种不同的方法,而不是将 AM/PM 替换为空字符串,但在这一点上,除了使用军事时间之外似乎没有其他方法可以做到.
let time = new Date().toLocaleTimeString().replace("AM", "").replace("PM", "");
console.log(time);
//expected output
//8:03:30
如何在 Javascript 中显示格式为“HH:MM”的数字时钟?
下面的代码以“HH:MM AM/PM”的格式显示数字时钟。
main.js
const d = new Date();
const cFormat = d.toLocaleTimeString([], {
hour: "2-digit",
minute: "2-digit",
});
编辑:虽然下面的代码有效,但我想知道是否有办法通过“.toLocaleTimeString()”实现。
const d = new Date();
const cFormat = d.toLocaleTimeString('en-US', {hour: "2-digit",minute: "2-digit"});
cFormat.replace("AM", "").replace("PM", "");
console.log( 'cFormat -> ', cFormat )
这样
const HH_MM = {hour: '2-digit', minute: '2-digit' }
let cFormat = new Date()
.toLocaleTimeString('en-US', HH_MM)
.replace(/AM|PM/,'')
console.log( 'cFormat -> ', cFormat )
const d = new Date();
const cFormat = d.toLocaleTimeString('en-US', {hour: "2-digit",minute: "2-digit", hour12: true});
cFormat.replace("AM", "").replace("PM", "");
console.log( 'cFormat -> ', cFormat )
replace
函数在原地不起作用,这意味着它不会影响原始字符串。它只是 returns 一个新字符串,所以即使在您给出的答案中,您仍然会得到 AM。你可以这样调整它:
const d = new Date();
const cFormat = d.toLocaleTimeString('en-US', {hour: "2-digit",minute: "2-digit"}).replace(/AM|PM/g, "").trim();
console.log(cFormat)
我知道您想找到一种不同的方法,而不是将 AM/PM 替换为空字符串,但在这一点上,除了使用军事时间之外似乎没有其他方法可以做到.
let time = new Date().toLocaleTimeString().replace("AM", "").replace("PM", "");
console.log(time);
//expected output
//8:03:30