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

Amc*_*tty 3 javascript date mongodb meteor

我的应用程序需要创建在浏览器中有3个不同时区显示的startDate的对象.日期还必须包括确切的时间.日期应该以这样的方式存储:它允许查询"给我所有日期在X和Y之间",并将其解析为3个时区.

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

谢谢.

Dav*_*don 5

您可以在此处找到您需要了解的所有信息.亮点:

  • 将日期存储为JavaScript Date对象.它们具有整数时间戳的所有查询优势,但您无需将它们转换回Date对象即可使用它们.

  • 范围查询的工作原理如下: Posts.find({creation_date: {$gte: startDate, $lt: endDate}})

  • 您应该让服务器执行插入操作,或使用timesync包来防止时钟偏差问题.

  • 您可以使用时刻时区将日期格式设置为不同的时区.例如moment(date).tz("America/New_York").format('l LT')