Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Meteor中存储日期和时间以进行范围查询?_Javascript_Mongodb_Date_Meteor - Fatal编程技术网

Javascript 如何在Meteor中存储日期和时间以进行范围查询?

Javascript 如何在Meteor中存储日期和时间以进行范围查询?,javascript,mongodb,date,meteor,Javascript,Mongodb,Date,Meteor,我的应用程序需要创建在浏览器的3个不同时区中显示startDate的对象。日期还必须包括确切的时间。日期的存储方式应允许查询“为X和Y之间的日期提供所有信息”,并将其解析为3个时区 我的问题是,我应该如何最好地保存(并随后检索)日期和时间,以便稍后在日期范围内查询它,我是否应该使用moment.js?我想到的是,将日期和时间保存在数据库中的单个unix时间戳中,读取时只需将其解析为具有特定时区的日期和时间。这种方法正确吗,还是应该将其保存为纯javascript日期?mongoDB可以查询uni

我的应用程序需要创建在浏览器的3个不同时区中显示startDate的对象。日期还必须包括确切的时间。日期的存储方式应允许查询“为X和Y之间的日期提供所有信息”,并将其解析为3个时区

我的问题是,我应该如何最好地保存(并随后检索)日期和时间,以便稍后在日期范围内查询它,我是否应该使用moment.js?我想到的是,将日期和时间保存在数据库中的单个unix时间戳中,读取时只需将其解析为具有特定时区的日期和时间。这种方法正确吗,还是应该将其保存为纯javascript日期?mongoDB可以查询unix时间戳作为日期范围,还是需要普通的日期对象


谢谢。

您需要了解的所有信息都可以找到。亮点:

  • 将日期存储为JavaScript
    Date
    对象。它们具有整数时间戳的所有查询优点,但是您不需要将它们转换回
    Date
    对象来使用它们

  • 范围查询的工作方式如下:
    Posts.find({creation\u date:{$gte:startDate,$lt:endDate}})

  • 您应该让服务器进行插入,或者使用包来防止时钟偏移问题

  • 您可以使用将日期格式化为不同的时区。e、 g.
    moment(date).tz(“美国/纽约”).格式(“l LT”)


忘掉UNIX时间戳吧。一个简单的新日期就可以了。如果你计划使用
moment
你可能会经常使用
moment().toDate()