在输入的json文件中,我以这种格式收到日期:
std::sort( Rel.begin(), Rel.end(), sortByDate );
加载到MongoDB时,这些日期以这种方式存储:
{ "dt_received" : "2016-01-22T12:35:52.123+05" }
问题是我需要时区来计算我的指标。 在约束中,我无法创建新列,例如" dt_received_timezone"。 所以我正在寻找将日期存储格式更改为MongoDB以使时区出现(或至少不消失) 这是一种方法吗?或任何解决方案?
答案 0 :(得分:0)
如果您收到来自不同时区的数据并希望保留时区偏移量,则必须将其保存到数据库中,如下所示:
var now = new Date();
db.data.save( { date: now, offset: now.getTimezoneOffset() } );
然后你可以像这样重建原始时间
var record = db.data.findOne();
var localNow = new Date( record.date.getTime() - ( record.offset * 60000 ) );
有关详细信息,请参阅documentation