nodejs从MySQL数据中获取的时间,展示时与存储时间相差8小时的解决方法
Posted 秋9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs从MySQL数据中获取的时间,展示时与存储时间相差8小时的解决方法相关的知识,希望对你有一定的参考价值。
nodejs从mysql数据中获取的时间,展示时与存储时间相差8小时的解决方法
网上的方法,都没解决我这里的问题,特分享给大家。
出现这问题,第1步是定位原因,根据原因去解决。
【定位原因】:
"ret": 1,
"msg": "获取成功",
"data": [
"id": 90,
"name": "admin",
"stcode": "1",
"luoyanleft": "4.80",
"luoyanright": "5.30",
"luoyanall": "4.60",
"updatedAt": "2022-10-26T13:20:25.000Z"
]
【分析】
注意updatedAt字段的时间格式,是2022-10-26T13:20:25.000Z,不是2022-10-26 13:20:25格式。
因此使用moment(updatedAt).utcOffset(8).format(‘YYYY-MM-DD HH:mm:ss’)就无法解决了。
【解决方法】:
针对这种情况,我这边的解决方法如下:
const moment = require('moment')
//主要是下面这句中的.add(8, "hours"),在原有时间上加8小时
stu.updatedAt=moment(stu.updatedAt).add(8, "hours");
以上是关于nodejs从MySQL数据中获取的时间,展示时与存储时间相差8小时的解决方法的主要内容,如果未能解决你的问题,请参考以下文章
从 Nodejs 中的 mySQL 获取数据时如何从 Async/await 函数获取返回值
如何创建从 nodejs mysql 模块获取的正确 json 类型数据?
当我直接从 MySQL 获取时,NodeJS 响应 MySQL 时区不同