我想以12小时格式显示时间,而不使用AM
和PM
。例如仅3:45
,而不是3:45 PM
或3:45 AM
。如何修改toLocaleTimeString()
使其不显示PM
AM
而是12位数字格式?
var minsToAdd = 45;
var time = "15:00";
var newTime = new Date(new Date("2000/01/01 " + time).getTime() + minsToAdd * 60000).toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', hour12: true });
console.log(newTime);
答案 0 :(得分:0)
.toLocaleTimeString()没有任何替代操作。
有多种方法。
将AM / PM替换为空白:
var minsToAdd = 45;
var time = "15:00";
var newTime = new Date(new Date("2000/01/01 " + time).getTime() + minsToAdd * 60000).toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', hour12: true });
console.log(newTime.replace("AM","").replace("PM",""));
使用自定义JavaScript函数:
function formatTime(d) {
function z(n){return (n<10?'0':'')+n}
var h = d.getHours();
return (h%12 || 12) + ':' + z(d.getMinutes());
}
var minsToAdd = 45;
var time = "15:00";
var newTime = new Date(new Date("2000/01/01 " + time).getTime() + minsToAdd * 60000);
console.log(formatTime(newTime));
答案 1 :(得分:0)
格式假定语言环境为本地时区; America / Los_Angeles for America
美国英语在AM / PM上使用12小时 console.log(date.toLocaleTimeString('en-US')); “ 7:00:00 PM”
有关更多信息,请访问官方文档here
答案 2 :(得分:0)
非常容易。
const date24IR = new Date();
const data24Time = date24IR.toLocaleTimeString('en-IT', { hour12: false })
console.log("24 h : ",data24Time)
// 24 h : 20:26:09
const date12IR = new Date();
const data12Time = date12IR.toLocaleTimeString('en-IT')
console.log("12 h : ",data12Time)
// 12 h : 8:26:09 PM
// toLocaleTimeString('{languege for show time}-{languege for set}')