无法使用jqgrid中的时间戳格式解析日期

时间:2019-03-13 08:45:55

标签: javascript date jqgrid

我正在将日期对象作为JSON字符串,如下所示。    2019-03-12T02:39:38.197+0000 当我尝试了Jqgrid中所有可能的格式选项时,没有给出确切的时间。所以我用了自己的格式化程序。

 function dateFormatter (cellvalue, options, rowObject)
  {
    var new_format_value='';
    var date = new Date(cellvalue);
     var hours = date.getHours();
      var minutes = date.getMinutes();
      var ampm = Number(hours) >= 12 ? 'PM' : 'AM';
      hours = Number(hours) % 12;
      hours = hours ? hours : 12; // the hour '0' should be '12'
      minutes = Number(minutes) < 10 ? '0'+ Number(minutes) : Number(minutes);
      var strTime = hours + ':' + minutes + ' ' + ampm;
      new_format_value=Number(date.getMonth())+1 + "/" + date.getDate() + "/" + date.getFullYear() + " " + strTime
      return new_format_value;
   }

这种方式可以完全按预期方式工作,但是当他们在IE10, IE11中访问时,控制台中出现Invalid date错误。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用momentjs并使用自定义格式设置日期格式

更多格式为https://devhints.io/datetime

var date = moment('2019-03-12T02:39:38.197+0000');
console.log(date.format('MM-DD-YYYY hh:mm A'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>