我从后端获取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.239z
。那么,我如何在每个tds中使这个显示像这样2021-03-18&21:11am/pm
呢?
我的尝试:
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,如果您需要查看任何来自后端的代码,请告诉我。
从后端解决问题。您可以在settings.py中设置它
REST_FRAMEWORK = {
'DATETIME_FORMAT': "%Y-%m-%d & %H:%M %p",
}
DRF文档中的更多信息
输出将如下所示:
“create_date”:“2021-03-18&21:11 AM”
您可以在前端应用MomentJS来格式化日期时间。
先决条件:
MomentJS
脚本添加到HTML
null
// 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>