momentjs本地与数据库utc时间相差8小时解决方法
日常日期存储中,浏览器-->server端-->服务器 数据库时间是utc时区,会和本地北京时间相差8小时。
解决方案一: 将数据库date类型改为string类型,这样简单方便😊
解决方案二:转为(moment.js)utc类型存入数据库
( 1 ) 在前端页面选取时间时,将选取时间通过mement.js的utc方法先进行转换:
moment(date).utc() ;
( 2 ) 在server端往数据库储存时,需要将日期通过toDate去转换成日期类型,因为moment转换出来的可能是string格式
moment(date, 'YYYY/MM/DD HH:mm:ss Z').toDate();
( 3 ) 往数据库存储成功后,取出展示时,与本地时间格式相差八小时,那么就通过utcOffset()转换回来。
moment(res.date).utcOffset(8).format('YYYY/MM/DD HH:mm:ss')
moment.js 文档地址: https://momentjs.com/docs/#/parsing/parse-zone/
———————————— 方向错了,停下来就是进步 ————————————