在Mongo 2.6.4 shell中试试这个:
> tues = ISODate("2014-07-01")
ISODate("2014-07-01T00:00:00Z")
> tues.getDay()
1
> tues = new Date(2014, 6, 1)
ISODate("2014-07-01T04:00:00Z")
> tues.getDay()
2
即。为2014年7月1日(星期二)创建ISODate
,并运行getDay()
以获取星期几并获得1,然后使用标准Javascript Date
创建相同日期, ,正如预期的Javascript,getDay()
返回2。
从Mongo文档中,似乎ISODate
只是Date
的包装器。我无法找到任何文档说明getDay()
的行为不同。这是预期的行为吗?如果是这样,为什么?一个错误?
答案 0 :(得分:2)
getDay
根据当地时区为您提供当天时间。我怀疑你是在美国EDT时区。因此,在第一种情况下,您当地时间仍为2014-06-30 20:00:00美国东部时间(周一)。