js处理django后端传输的json中的datetime对象

django后台返回如下的json数据

  1. [
  2. {
  3. "Blog_id": 3,
  4. "Blog_user_id": "test02_id",
  5. "Blog_user_name": "test02_id",
  6. "Blog_True_name": "test02_id",
  7. "Blog_user_Balance": "120.90",
  8. "Blog_User_Operation": "test02_id",
  9. "Blog_Create_Time": "2020-11-25T16:10:26.728737+08:00"
  10. },
  11. {
  12. "Blog_id": 2,
  13. "Blog_user_id": "test02_id",
  14. "Blog_user_name": "test02_id",
  15. "Blog_True_name": "test01_id",
  16. "Blog_user_Balance": "1290.09",
  17. "Blog_User_Operation": "test01_id",
  18. "Blog_Create_Time": "2020-11-25T16:10:00.664230+08:00"
  19. }
  20. ]

我们发现其中的Blog_Create_Time字段的值为"2020-11-25T16:10:00.664230+08:00"

我们应该讲数据转化成2020-11-25 16:10

所以我们应使用如下的js代码进行数据处理

  1. function dateFormat(fmt, date) {
  2. let ret = "";
  3. date = new Date(date);
  4. const opt = {
  5. 'Y+': date.getFullYear().toString(), // 年
  6. 'm+': (date.getMonth() + 1).toString(), // 月
  7. 'd+': date.getDate().toString(), // 日
  8. 'H+': date.getHours().toString(), // 时
  9. 'M+': date.getMinutes().toString(), // 分
  10. 'S+': date.getSeconds().toString() // 秒
  11. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  12. }
  13. for (let k in opt) {
  14. ret = new RegExp('(' + k + ')').exec(fmt)
  15. if (ret) {
  16. fmt = fmt.replace(
  17. ret[1],
  18. ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  19. )
  20. }
  21. }
  22. return fmt
  23. }

测试代码如下

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <script>
  9. function dateFormat(fmt, date) {
  10. let ret = "";
  11. date = new Date(date);
  12. const opt = {
  13. 'Y+': date.getFullYear().toString(), // 年
  14. 'm+': (date.getMonth() + 1).toString(), // 月
  15. 'd+': date.getDate().toString(), // 日
  16. 'H+': date.getHours().toString(), // 时
  17. 'M+': date.getMinutes().toString(), // 分
  18. 'S+': date.getSeconds().toString() // 秒
  19. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  20. }
  21. for (let k in opt) {
  22. ret = new RegExp('(' + k + ')').exec(fmt)
  23. if (ret) {
  24. fmt = fmt.replace(
  25. ret[1],
  26. ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  27. )
  28. }
  29. }
  30. return fmt
  31. }
  32. console.log(dateFormat(dateFormat('YYYY-mm-dd HH:MM',"2020-11-25T16:10:00.664230+08:00")))
  33. </script>
  34. </body>
  35. </html>

转化成功的结果为

  1. 2020-11-25 16:10