首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在json内格式化日期

在json内格式化日期
EN

Stack Overflow用户
提问于 2021-04-02 06:48:20
回答 2查看 108关注 0票数 0

我从后端得到了这样的json:

代码语言:javascript
复制
 {
   "datas":[
      {
         "id":4,
         "create_date":"2021-03-18T21:11:57.239Z"
      },
      {
         "id":5,
         "create_date":"2021-03-19T19:37:05.829Z"
      }
   ]
}

在json中循环,如下所示:

代码语言:javascript
复制
 $(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.239Z。那么,如何在每个tds中使这个显示像这样的2021-03-18 & 21:11 am/pm呢?

我的尝试

代码语言:javascript
复制
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,如果需要查看后端的代码,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-02 07:16:11

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

先决条件:

  • MomentJS脚本添加到HTML

代码语言:javascript
复制
// 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
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

参考资料:MomentJS解析字符串格式

票数 1
EN

Stack Overflow用户

发布于 2021-04-02 07:02:22

从后端解决这个问题。您可以在settings.py中设置它。

代码语言:javascript
复制
REST_FRAMEWORK = {
    'DATETIME_FORMAT': "%Y-%m-%d & %H:%M %p",
}

DRF文件中的更多信息

输出将类似于它:

"create_date":"2021-03-18 & 21:11 AM"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66915442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档