nodejs,mongodb不同时区问题

Posted 江山一族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs,mongodb不同时区问题相关的知识,希望对你有一定的参考价值。

问题:不同国家,使用不同时区,而服务器代码却在国内,跨时区日期不同,根据日期查询,查询不到数据了

1.mongodb存储的new Date()是UTC时间,也就是0时区的时间,世界标准时间

2.参考moment官网,时区问题: http://momentjs.com/timezone/docs/

npm install moment-timezone

var moment = require(‘moment-timezone‘);
console.log(moment(‘2018-08-17T07:46:37.000+08:00‘).tz("Asia/Tokyo").format(‘YYYY/MM/DD HH:mm:ss‘))//Asia/Tokyo,Asia/Hong_Kong,America/New_York,Asia/Shanghai
console.log(‘上海:‘+moment().tz("Asia/Shanghai").format(‘YYYY/MM/DD HH:mm:ss‘))
console.log(‘香港:‘+moment().tz("Asia/Shanghai").format(‘YYYY/MM/DD HH:mm:ss‘))
console.log(‘日本:‘+moment().tz("Asia/Tokyo").format(‘YYYY/MM/DD HH:mm:ss‘))
console.log(‘纽约:‘+moment().tz("America/New_York").format(‘YYYY/MM/DD HH:mm:ss‘))

更多支持的时区,请参考moment-timezone源码 moment-timezone/builds/moment-timezone-with-data-2012-2022.js






以上是关于nodejs,mongodb不同时区问题的主要内容,如果未能解决你的问题,请参考以下文章

在 mongodb 本地时区聚合

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

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

从nodejs中mongodb的两个不同集合中获取数据

从nodejs中mongodb的两个不同集合中获取数据

NodeJS Express Mongoose API 的 2018 年 MongoDB 不同计数