Я получаю JSON с сервера и анализирую его в массив.
Свойство date.month имеет значение «03», затем оно добавляется к объекту Date () var date = new Date (year,месяц, день);
Я преобразую объект Date () с помощью date.toLocaleDateString (), и в симуляторе iOS выводится «5 апреля 2012 года».
Как это может быть?!?!?!
Источник JavaScript и JSON находится здесь: http://developer.appcelerator.com/question/133958/month-of-date-object-is-3-but-tolocaledatestring-says-april
Объекты JavaScript JavaScript отслеживают месяцы от 0 до 11. Январь равен 0, другими словами, поэтому апрель равен 3. Если ваш серверный код считает месяцы с 1 по 12, вы просто вычитаете один при создании даты JavaScript.1001 *
Месяцы JavaScript начинаются с 0, а не с 1, поэтому месяц 3 фактически является 4-м месяцем.Не спрашивайте меня, почему они решили сделать это таким образом.