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

如何创建从 nodejs mysql 模块获取的正确 json 类型数据?

当我直接从 MySQL 获取时,NodeJS 响应 MySQL 时区不同

当我直接从 MySQL 获取时,NodeJS 响应 MySQL 时区不同

如何从sql中获取nodejs的数据并返回json?