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

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

存入数据库:moment().tz("Asia/Tokyo").format('YYYY/MM/DD HH:mm:ss')  因为mongodb是弱数据类型的,可以直接存入字符串,即使你在schema中定义的是Date类型 moment().tz('Asia/Tokyo').add(-24,'hours').format('YYYY/MM/DD HH:mm:ss')

zoneconfig.create({
"zoneTime": "Asia/Tokyo",
"siteId": ['aaaa'],
"createTime": moment().tz('Asia/Tokyo').format('YYYY/MM/DD HH:mm:ss')
})

3.由于用的是阿里云的linux服务器,

monggo日期条件

const queryBetweenDate = {
$gte: new Date(new Date(mongoDate).getTime()),
$lt: new Date(new Date(mongoDate).getTime() + 86400000)
}

postMan输入的参数是mongoDate: 2018/08/24, 在本地是可以的,

本地打印:

{ '$gte': 2018-08-24T16:00:00.000Z,
'$lt': 2018-08-25T16:00:00.000Z }

但在服务上,打印的条件确是;

{ '$gte': 2018-08-23T16:00:00.000Z,
'$lt': 2018-08-24T16:00:00.000Z }

本地代码和服务器代码一摸一样,服务上却查不出来了,懵圈。。

不管是几点,打印都是T16:00:00.000Z

最后,加了8小时,发到服务上的日期条件为

const queryBetweenDate = {
$gte: new Date(new Date(mongoDate).getTime()+1000*60*60*8),
$lt: new Date(new Date(mongoDate).getTime() + 86400000+1000*60*60*8)
}

至此,问题已解决。

nodejs,mongodb不同时区问题的更多相关文章

  1. react+react-router+react-redux+nodejs+mongodb项目

    一个实际项目(OA系统)中的部分功能.这个demo中引入了数据库,数据库使用了mongodb.安装mongodb才能运行完整的功能.要看完整的项目可以移步我的github 技术栈 React v15. ...

  2. NodeJS,MongoDB,Vue,VSCode 集成学习

    NodeJS,MongoDB,Vue,VSCode 集成学习 开源项目地址:http://www.mangdot.com

  3. Nodejs+MongoDB+Bootstrap+esj搭建的个人简易博客

    github:https://github.com/yehuimmd/myNodeBloy Nodejs+MongoDB+jQuery+Bootstrap-esj搭建的个人简易博客 主要功能 前台 : ...

  4. NodeJs + mongodb模块demo

    代码比较通俗易懂,但是我还是在这个过程中浪费了不少时间,也算是看到了nodejs中异步的一个小坑.未来的坑还有很多,慢慢找坑填坑吧. 参考资料如下: 1.断言模块 : https://nodejs.o ...

  5. 阿里云上部署 centos+nodejs+mongodb

    先执行 yum -y update nginx 安装 yum -y install nginx 设置开机启动 chkconfig nginx on nodejs 安装: yum install nod ...

  6. NodeJS+Mongodb+Express做CMS博客系统

    楼主正在用业余时间开发中-- ,目前的版本仅支持会员系统,尝鲜一下吧~ hi-blog 一个 nodejs+express+mongodb 的 cms 系统 怎么启动 默认你已经安装了 mongodb ...

  7. 前端MVC学习总结(四)——NodeJS+MongoDB+AngularJS+Bootstrap书店示例

    这章的目的是为了把前面所学习的内容整合一下,这个示例完成一个简单图书管理模块,因为中间需要使用到Bootstrap这里先介绍Bootstrap. 示例名称:天狗书店 功能:完成前后端分离的图书管理功能 ...

  8. angularjs+nodejs+mongodb三件套

    说实话,自己对于web前段的认识并不是太深入,但是因为项目的需要,所以有的时候肯定会需要接触到web前段的知识点.说到web前端想必大家肯定会想到css+js+html,的确web前端的工作,从某总角 ...

  9. 使用Nodejs+mongodb开发地图瓦片服务器

    原先地图瓦片服务器采用的是arcgisserver发布的地图服务并进行切片,但ags发布的地图服务很占内存,发布太多的话服务器压力很大.再一个就是ags价太高了. 学习Nodejs之后,发现这是一个可 ...

随机推荐

  1. String 类的实现(1)浅拷贝存在的问题以及深拷贝实现

    1.   浅拷贝 : 也称位拷贝 , 编译器只是直接将指针的值拷贝过来, 结果多个对象共用 同 一块内存, 当一个对象将这块内 存释放掉之后, 另 一些对象不知道该块空间已经还给了系统, 以为还有效, ...

  2. jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等激活到2099

    破解补丁激活 之前看了好多的其它的方法感觉都不是很靠谱还是这个本人亲试可以长期有效不仅能激活pycharm.jetbrains全系列可用例:IDEA.WebStorm.phpstorm.clion等激 ...

  3. Linux发布WebApi

    一:WebApi 使用Owin来做  http://www.cnblogs.com/xiaoyaodijun/category/666029.html 二:安装最新版的Jexus服务 https:// ...

  4. 网络通信socket连接数上限

    socket accept()返回的socket描述符的端口和listen描述符端口是一样的吗? as you know,一个socket是由一个五元组来唯一标示的,即(协议,server_ip, s ...

  5. Nodejs通过账号密码连接MongoDB数据库

    转自https://blog.csdn.net/szu_lzz/article/details/77435804#commentBox 1.创建管理员 首先开启Mongo服务,然后切换admin数据库 ...

  6. BZOJ 4282(慎二的随机数列

    题解: 网上题解还没看 我的方法是用平衡树维护一个单调栈 由于N用了一定是赚的 所以它的作用是让f[i+1]=f[i]+1 这个是可以记录的 就跟noip蚯蚓那题一样 然后插入一个值的时候查询前面的最 ...

  7. php通过CURL模拟get提交请求

    方式一: $host = "http://jisunews.market.alicloudapi.com"; $path = "/news/get"; $met ...

  8. Codeforces Round #460 (Div. 2) ABCDE题解

    原文链接http://www.cnblogs.com/zhouzhendong/p/8397685.html 2018-02-01 $A$ 题意概括 你要买$m$斤水果,现在有$n$个超市让你选择. ...

  9. 数据特征分析:3.统计分析 & 帕累托分析

    1.统计分析 统计指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析 集中趋势度量 / 离中趋势度量 One.集中趋势度量 指一组数据向某一中心靠拢的倾向,核心在于寻找数据的代表值或中 ...

  10. 069 在SparkStreaming的窗口分析

    一:说明 1.图例说明 ---------------------------------------------------------------------------------------- ...