Монго Неправильные даты - PullRequest
0 голосов
/ 26 декабря 2011

Почему mongoDB создает для меня неправильные даты.

> start=new Date(2011,12,23)     
"Mon Jan 23 2012 00:00:00 GMT+0000 (UTC)"
> start=new Date(2011,12,24)
"Tue Jan 24 2012 00:00:00 GMT+0000 (UTC)"
> start=new Date(2011,13,24)
"Fri Feb 24 2012 00:00:00 GMT+0000 (UTC)"
> start=new Date(2011,11,24)
"Sat Dec 24 2011 00:00:00 GMT+0000 (UTC)"
> 

1 Ответ

4 голосов
/ 26 декабря 2011

Объект даты Mongo является объектом даты Javascript, а его месяцы основаны на 0 (Jan = 0, Dec = 11).

2011/12/23 is actually month #1 (12-11) of year 2011+1 -> Jan 23/2012
2011/12/24 is actually month #1 (12-11) of year 2011+1 -> Jan 24/2012
2011/13/24 is actually month #2 (13-11) of year 2011+1 -> Feb 24/2012
etc...

и, кроме того, в календаре нет месяца 13, поэтому, по крайней мере, в третьем случае вы вводите недопустимую дату для начала - только спецификация JS вежлива и переводит ее в «следующий год "для вас, что это работает на всех.

...