繁体   English   中英

如何在Express.js中为Mongo查询在Express中创建UTC时间

[英]How to create UTC Time in Express for Mongo Query in Express.js

这可能已经被问过一百次了,但我敢问:在快递/猫鼬中,我需要创建一个UTC ISO日期才能查询MongoDB。 这就是我在做什么:

var date = new Date(req.params.date + " 00:00:00 UTC").toUTCString();

而req.params.date等于以下字符串: 2015-01-01

上面的代码创建: Mon, 12 Jan 2015 00:00:00 GMT在MongoDB中,我有:

"date" : ISODate("2014-12-08T00:00:00.000Z")

我该如何工作?

您需要将查询中的日期表示为标准的JavaScript Date对象。

因此,省去toUTCString()部分,这样的工作就可以了:

var date = new Date(req.params.date);
collection.findOne({date: date}, callback);

ISODate东西使很多人感到困惑(包括我自己的时间最长)。 ISODate只是一个MongoDB shell构造, 日期对象在MongoDB中存储为64位整数BSON Date对象。

我使用Date对象的toISOString()方法来代替toUTCString() ,但效果很好。

var date = new Date(req.params.date + " 00:00:00 UTC").toISOString();

另请参阅。 使用MongoDB和Nodejs插入和查询日期

将UTC字符串转换为Date对象

    var utc_date=new Date(new Date().toUTCString());    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM