将js时间格式从24小时更改为12小时

时间:2017-02-09 07:36:41

标签: javascript html css

我已经问了一个问题How to hide time standards from javascript

但我需要将时间格式更改为12小时。

function display_c() {
      var refresh = 1000; // Refresh rate in milli seconds
      mytime = setTimeout('display_ct()', refresh)
    }

    function display_ct() {
      var strcount
      var x = new Date()
      document.getElementById('ct').innerHTML = x.toString().replace(/GMT(.*)/g,"");
      tt = display_c();
    }
display_ct()
<span id='ct'></span>

2 个答案:

答案 0 :(得分:2)

hours与正则表达式模式/(\d+)(:)/匹配,然后选中> 12然后应用条件。

<强> Date methods

function display_c() {
  var refresh = 1000; // Refresh rate in milli seconds
  mytime = setTimeout('display_ct()', refresh)
}
var format;

function display_ct() {
  var strcount
  var x = new Date()
  document.getElementById('ct').innerHTML = x.toString().replace(/GMT(.*)/g, "").replace(/(\d+)(:)/,
    function(a, b, c) {
      b = parseInt(b);
      if (b > 12) {
        b = b - 12;
        format ='PM';
      }
    else{
      b=b;
    format="AM";
      }
      return b + c;
    })+format;
  tt = display_c();
}
display_ct()
<span id='ct'></span>

或尝试其他型号

function display_c() {
      var refresh = 1000; // Refresh rate in milli seconds
      mytime = setTimeout('display_ct()', refresh)
    }
var m =['Jan','Feb','Mar','Aprl','May','Jun','July','Aug','Sep','Oct','Nov','Dec'];
var w =['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];

    function display_ct() {
      var strcount
      var x = new Date()
      var h = x.getHours() > 12 ? x.getHours() -12 : x.getHours();
      var format = x.getHours() > 12 ? 'PM' : 'AM';
      document.getElementById('ct').innerHTML =w[x.getDay()]+' '+m[x.getMonth()]+' '+x.getFullYear()+' '+h+':'+x.getMinutes()+':'+x.getSeconds()+' '+format;
      tt = display_c();
    }
display_ct()
<span id='ct'></span>

答案 1 :(得分:1)

您可以使用momentjs字符串格式执行此操作。使用此功能,您可以按照自己喜欢的方式显示日期。

在下面的代码段中,您可以看到如何实现相同的功能。

&#13;
&#13;
function display_c() {
  var refresh = 1000; // Refresh rate in milli seconds
  mytime = setTimeout('display_ct()', refresh)
}

function display_ct() {
  var strcount
  var x = new Date()
  document.getElementById('ct').innerHTML = moment(x).format('ddd MMM DD gggg hh:mm:ss');
  tt = display_c();
}

display_ct()
&#13;
<script src="http://momentjs.com/downloads/moment.js"></script>
<span id='ct'></span>
&#13;
&#13;
&#13;

注意:

  1. hh用于 12小时 format,您可以找到更多格式来访问文档(您可以看到我在我的示例中使用的一些格式)。< / p>

  2. 关于这一点的好处是无需使用replace

  3. 它遵循KISS principle