在流星中:
{
"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将按原样插入日期。
在不对值进行硬编码的情况下进行补偿的最佳方法是什么?
答案 0 :(得分:0)
我的解决方案是使用没有任何UTC偏移量的ISO 8601字符串,而不是新的Date()。
Events.insert({ 'start': '2018-10-5T05:00:00);
这种方式,Mongo不会将其存储为ISO日期,而是存储为字符串,浏览器将读取该字符串作为用户输入的确切日期。浏览器不会偏移时区,它只是作为字符串插入。