При разработке дополнения к firefox следующие результаты дают разные результаты?Дата выпуска Javascript при использовании setMonth
var out = document.getElementById('out');
out.textContent += new Date(2015, 1, 6, 16, 0, 0, 0) + '\n'; // -> Date "2015-02-06T15:00:00.000Z" correct, months are zero-based
var dt = new Date(0, 0, 0, 0, 0, 0, 0);
dt.setFullYear(2015);
dt.setMonth(1);
dt.setDate(6);
dt.setHours(16);
out.textContent += dt + '\n'; // -> Date "2015-03-06T15:00:00.000Z" ??
<pre id="out"></pre>
Проблема заключается в setMonth (1) устанавливает марта во втором случае. Это происходит с произвольными датами, другие даты отлично подходят для обоих подходов. Любая идея почему?
var out = document.getElementById('out');
out.textContent += new Date(2015, 0, 30, 16, 0, 0, 0) + '\n'; // -> 2015-01-30T15:00:00.000Z" months are zero-based
var dt = new Date(0, 0, 0, 0, 0, 0, 0);
dt.setFullYear(2015);
dt.setMonth(0);
dt.setDate(30);
dt.setHours(16);
out.textContent += dt + '\n'; // -> 2015-01-30T15:00:00.000Z
<pre id="out"></pre>
большое спасибо! Изменено название, чтобы не обвинять надстройки Firefox :) – BennyHilarious
@scimonster. Это причина, но есть ли у вас какие-либо общие рекомендации, чтобы предотвратить это? – Xotic750
@ Xotic750 Создайте все сразу. – Scimonster