MongoDB добавление месяца к дате - PullRequest
2 голосов
/ 19 февраля 2012

Итак, это сводит меня с ума, и я не уверен, что это ошибка или я что-то упускаю из виду. Может кто-нибудь, пожалуйста, объясните мне, почему месяц добавляется к следующему утверждению в Монго 2.0.2

# mongo
MongoDB shell version: 2.0.2
> new Date()
ISODate("2012-02-19T04:58:56.988Z")
> new Date(2012, 02, 19, 04, 58, 56)
ISODate("2012-03-19T04:58:56Z")
> new Date(2012, 01, 19, 04, 58, 56)
ISODate("2012-02-19T04:58:56Z")

Обратите внимание, как добавляется месяц, когда я указываю дату. Виски Танго Фокстрот?

1 Ответ

4 голосов
/ 19 февраля 2012

MongoDB использует JavaScript в качестве языка интерфейса.month в конструкторе JavaScript Date основан на нуле.Из подробного руководства :

month
Целочисленное значение, представляющее месяц, начиная с 0 для января до 11 для декабря.

Обратите внимание на 0 за январь .Подобные вещи являются одной из причин того, что MongoDB стремится использовать свою собственную ISODate функцию вместо new Date:

[...] ISODate является тонкимобертка вокруг конструктора Date, чтобы исправить некоторые его недостатки.Он возвращает обычный объект Date со всеми обычными методами, которые поддерживают методы Date в JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...