2017-01-09 34 views
1

我想使用Moment-timezone在我的数据库中存储特定的时区/日期,但它会一直保存为美国的时区。时区正确存储在Mongoose中

下面的代码

var mongoose = require('mongoose'); 
var moment = require('moment-timezone'); 

var itemSchema = new mongoose.Schema({ 
    name: String, 
    time: { type: Date, default: moment().tz('Asia/Kuala_Lumpur').format('YYYY-MM-DD HH:mm')} 
}); 

在吉隆坡的时间是16:46,而美国是在08:46

+0

Mongodb时间仅以UTC存储。这不是在美国的时间。在吉隆坡的时间比UTC早8个小时。 16:46在吉隆坡,UTC是08:46。 – Veeram

+0

我会如何解决这个问题?加8小时? – sinusGob

+0

猫鼬应该将日期转换回KL时区。不要担心它在db中的外观。你看到什么问题?如果它在UTC使用时刻从UTC转换到KL时区。不要手动添加8小时。 – Veeram

回答

0

MongoDB的时间存储在UTC只。这不是在美国的时间。在吉隆坡的时间比UTC早8个小时。 16:46在吉隆坡,UTC是08:46。

猫鼬应该能够将日期转换回当地时区。

如果Mongoose在获取使用时刻后将UTC的日期转换为KL时区。