javascript - 使用 Mongoose 解析并保存 Javascript 日期对象

标签 javascript node.js mongodb mongoose

我有以下格式的每小时日期数据,我需要将其解析为 Javascript 日期对象,然后保存到 MongoDB 中。

这是我的模型,指定日期对象:

var DateObjectSchema = new Schema({
    created: {
        type: Date,
        default: Date.now
    },
    date: {
        type: Date,
        required: true,
        unique: true
    }
});

每小时日期数据的格式如下:

String "01/26/2014 16"

这是我尝试过的方法,但日期保存不正确:

var dateobject = new DateObject({
     date:    new Date("01/26/2014 16" + ":00:00")
});
dateobject.save();

例如,“01/26/2014 24”被保存到数据库中:

date: "1970-01-01T00:00:00.000Z"

这个“01/26/2014 14”被保存到数据库中:

date: "2014-01-26T22:00:00.000Z"

如果是时区问题,请注意,我希望将所有时间设置为 GMT - 7:00

谢谢!

最佳答案

您需要将日期字符串解析为日期对象。以下是根据您指定的模式执行此操作的一种方法:

var yourInputString = "01/26/2014 16";
var dateHr=yourInputString.split(/\s/); //Gives you the date and hr fields
var date=dateHr[0].split(/\//); //Process the date field by splitting on /
var parsedDate = new Date(date[2],date[0]-1,date[1],dateHr[1]);

现在您应该能够根据需要使用 parsedDate 了。

PS:date[0]-1 用于月份字段,因为月份是基于 0 的索引。

关于javascript - 使用 Mongoose 解析并保存 Javascript 日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390257/

相关文章:

javascript - Nodejs Mongoose - TypeError : Invalid sort() argument

javascript - Typescript Konva 类变量不在范围内

javascript - NestJS 中间件未执行

node.js - 在 node.js 中构建图像服务的最佳方式

mongodb - 使用 Mongodb 的 java 驱动程序,如何在同一字段上搜索多个值?

python - 从 JSON 文件到 Numpy 数组

javascript - 获取拆分字符串的索引

javascript - 事件处理函数上的全局变量和局部变量

node.js - Socket.io + NodeJS + Nginx + SSL

node.js - 如何将 .then 方法制作为 async.waterfall Node js