简体   繁体   English

如何在没有 AM/PM 缩写的情况下使用 toLocaleTimeString 12 小时时间?

[英]How to use toLocaleTimeString 12 hours time without AM/PM abbreviations?

I want to show time in 12 hours format without using the AM and PM .我想在不使用AMPM情况下以 12 小时格式显示时间。 For example 3:45 only and not 3:45 PM or 3:45 AM .例如,仅3:45而不是3:45 PM3:45 AM How I can modify the toLocaleTimeString() to not show the PM AM but in 12 number format?如何修改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() did not have any override to do so. .toLocaleTimeString() 没有任何覆盖来这样做。

There are multiple ways to do so.有多种方法可以做到这一点。

Replace AM/PM by blank:用空白替换 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",""));

Using custom JavaScript function:使用自定义 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));

it's very ez.这是非常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}')

formats below assume the local time zone of the locale;以下格式假定语言环境的本地时区; America/Los_Angeles for the US America/Los_Angeles 代表美国

US English uses 12-hour time with AM/PM console.log(date.toLocaleTimeString('en-US'));美国英语使用 12 小时制 AM/PM console.log(date.toLocaleTimeString('en-US')); "7:00:00 PM" “晚上 7:00:00”

For more information, visit official docs here有关更多信息,请在此处访问官方文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM