通过Compose.io在Mongo中保存日期与通过Meteor在Mongo中保存日期

时间:2018-10-01 22:38:10

标签: meteor compose

在流星中:

{ 
  "start" : ISODate("2018-10-05T11:00:00.000+0000"), // UTC time
}

在Meteor Mongo中保存的日期:

{ 
  "start" : ISODate("2018-10-05T07:00:00.000+0000"), // UTC time
}

浏览器将按预期(EDT)将日期显示为上午7点。

但是, 在Compose.io中,相同的Mongo插入将保存日期:

rise

浏览器将日期显示为凌晨3点。

流星的Mongodb似乎通过补偿我的EDT并增加4个小时来做​​正确的事。 Compose将按原样插入日期。

在不对值进行硬编码的情况下进行补偿的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我的解决方案是使用没有任何UTC偏移量的ISO 8601字符串,而不是新的Date()。

Events.insert({ 'start': '2018-10-5T05:00:00);

这种方式,Mongo不会将其存储为ISO日期,而是存储为字符串,浏览器将读取该字符串作为用户输入的确切日期。浏览器不会偏移时区,它只是作为字符串插入。

相关问题