首页 > 解决方案 > T 在json中格式化日期

问题描述

我从后端获取 json 是这样的:

 {
   "datas":[
      {
         "id":4,
         "create_date":"2021-03-18T21:11:57.239Z"
      },
      {
         "id":5,
         "create_date":"2021-03-19T19:37:05.829Z"
      }
   ]
}

并通过json循环如下:

 $(data.datas).each(function(index,value){
        html += `<tr><th scope="row">${index+1}</th>
              <td>${value.id}</td>
              <td>${value.create_date}</td>
              <td><a href="#" class="btn btn-outline-dark">View Car</a></td>
            </tr>`
 })

但是,这里create_date只是像这样在 td 列中打印2021-03-18T21:11:57.239Z2021-03-18 & 21:11 am/pm那么,我怎样才能在每个 tds 中进行这样的显示呢?

我的尝试

var created_date = value.create_date;
console.log(created_date.split("T")[0]);//2021-03-18
console.log(created_date.split("T")[1])//21:11:57.239Z (how can i remove 57.239Z..)

我对这两种解决方案都持开放态度,即:后端和前端。对于我的后端,我正在使用 django,如果您需要从后端查看任何代码,请告诉我。

标签: jquerydjango

解决方案


您可以应用MomentJS前端格式化日期时间。

先决条件:

  • MomentJS脚本添加到您的HTML

// Demo with assign sample data into createdDate
var created_date = new Date();
console.log(moment(created_date).format("YYYY-MM-DD & HH:mm a"));
// Result: 2021-04-02 & 15:16 pm
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

参考:MomentJS 解析字符串格式


推荐阅读