我有以下格式的每小时日期数据,我需要将其解析为 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/