如何使用toLocaleTimeString 12小时无AM / PM缩写?

时间:2019-04-02 15:38:26

标签: javascript

我想以12小时格式显示时间,而不使用AMPM。例如仅3:45,而不是3:45 PM3: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);

3 个答案:

答案 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}')