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



我想在不使用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);

.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));

它非常 ez。

    const date24 = new Date();
    const data24Time = date24.toLocaleTimeString('en-IT', { hour12: false })
    console.log("24 h : ",data24Time)
    // 24 h :  20:26:09
    
    
    const date12 = new Date();
    const data12Time = date12.toLocaleTimeString('en-IT')
    console.log("12 h : ",data12Time)
    // 12 h :  8:26:09 PM
    
    
    
    
    // toLocaleTimeString('{languege for show time}-{languege for set}')

下面的格式采用区域设置的本地时区; 美国/Los_Angeles

美国

美国英语使用 12 小时制,上午/下午console.log(date.toLocaleTimeString('en-US'((; "下午 7:00:00">

有关更多信息,请在此处访问官方文档

最新更新