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

问题描述 投票:0回答:1

我希望在不使用AMPM的情况下以12小时格式显示时间。例如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);
javascript
1个回答
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));
© www.soinside.com 2019 - 2024. All rights reserved.