js处理django后端传输的json中的datetime对象
django后台返回如下的json数据
[
{
"Blog_id": 3,
"Blog_user_id": "test02_id",
"Blog_user_name": "test02_id",
"Blog_True_name": "test02_id",
"Blog_user_Balance": "120.90",
"Blog_User_Operation": "test02_id",
"Blog_Create_Time": "2020-11-25T16:10:26.728737+08:00"
},
{
"Blog_id": 2,
"Blog_user_id": "test02_id",
"Blog_user_name": "test02_id",
"Blog_True_name": "test01_id",
"Blog_user_Balance": "1290.09",
"Blog_User_Operation": "test01_id",
"Blog_Create_Time": "2020-11-25T16:10:00.664230+08:00"
}
]
我们发现其中的Blog_Create_Time
字段的值为"2020-11-25T16:10:00.664230+08:00"
我们应该讲数据转化成2020-11-25 16:10
所以我们应使用如下的js代码进行数据处理
function dateFormat(fmt, date) {
let ret = "";
date = new Date(date);
const opt = {
'Y+': date.getFullYear().toString(), // 年
'm+': (date.getMonth() + 1).toString(), // 月
'd+': date.getDate().toString(), // 日
'H+': date.getHours().toString(), // 时
'M+': date.getMinutes().toString(), // 分
'S+': date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
}
for (let k in opt) {
ret = new RegExp('(' + k + ')').exec(fmt)
if (ret) {
fmt = fmt.replace(
ret[1],
ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
)
}
}
return fmt
}
测试代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function dateFormat(fmt, date) {
let ret = "";
date = new Date(date);
const opt = {
'Y+': date.getFullYear().toString(), // 年
'm+': (date.getMonth() + 1).toString(), // 月
'd+': date.getDate().toString(), // 日
'H+': date.getHours().toString(), // 时
'M+': date.getMinutes().toString(), // 分
'S+': date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
}
for (let k in opt) {
ret = new RegExp('(' + k + ')').exec(fmt)
if (ret) {
fmt = fmt.replace(
ret[1],
ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
)
}
}
return fmt
}
console.log(dateFormat(dateFormat('YYYY-mm-dd HH:MM',"2020-11-25T16:10:00.664230+08:00")))
</script>
</body>
</html>
转化成功的结果为
2020-11-25 16:10