gpt4 book ai didi

node.js - 在 mongo 中日期始终以 utc 开始

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:42 25 4
gpt4 key购买 nike

我在 Mongoose 中定义了一个数据模型:

var timeTicketSchema = mongoose.Schema({
relatedObjectId : mongoose.Schema.ObjectId,
startTime : Date,
endTime : Date,
claimed: { type: Boolean, default : false },
claimedOn : Date,
locked : { type : Boolean, default : false },
lockedOn : Date,
bookingId : mongoose.Schema.ObjectId,
pricePerHour : Number
});

创建时,我以以下格式发布,日期是从 UTC 开始算起的毫秒数:

{
"relatedObjectId": "561ee6bbe4b0f25b4aead5c8",
"startTime" : "1448550000000",
"endTime" : "1448551800000"
}

但是,当我查看在 mongo 中创建的对象时,该对象没有正确的开始和结束时间:

{
"_id": {
"$oid": "564cfb5e7c24fa1100991321"
},
"endTime": {
"$date": "1970-01-01T00:00:00.000Z"
},
"startTime": {
"$date": "1970-01-01T00:00:00.000Z"
},
"relatedObjectId": {
"$oid": "561ee6bbe4b0f25b4aead5c8"
},
"locked": false,
"claimed": false,
"__v": 0
}

插入代码非常简单:

var timeTicket = new TimeTicket();
timeTicket.tutorId = tutorId;
timeTicket.startTime = new Date(startTime);
timeTicket.endTime = new Date(endTime);

timeTicket.save(function(err, timeTicket){
if(err){
return next(err, null);
}

return next(null, timeTicket);
});

如果我的约会对象没有参加,我错过了什么?

最佳答案

您需要使用 parseInt() 将时间戳转换为 int 首先将它们转换为日期:

var timeTicket = new TimeTicket();
timeTicket.tutorId = tutorId;
timeTicket.startTime = new Date(parseInt(startTime));
timeTicket.endTime = new Date(parseInt(endTime));

timeTicket.save(function(err, timeTicket){
if(err){
return next(err, null);
}

return next(null, timeTicket);
});

关于node.js - 在 mongo 中日期始终以 utc 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33925025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com