JavaScript странности и setMonth
Предположим, что сегодня — 31 августа.
<script type="text/javascript">
var d=new Date ();
d.setUTCMonth (0);
document.write (d);</script>
Логично предположить что это выдаст январь.
Попробуем
<script type="text/javascript">
var d=new Date ();
d.setUTCMonth (1);
document.write (d);</script>
Казалось бы — февраль? А нет, на дворе март.
Играемся со втормы параметром.
<script type="text/javascript">
var d=new Date ();
d.setUTCMonth (1,0);
document.write (d);</script>
Вот и январь опять вернулся.
<script type="text/javascript">
var d=new Date ();
d.setUTCMonth (1,1);
document.write (d);
</script>
А это уже — первое февраля.
Удивительное рядом — второй параметр по дефолту принимает текущий день! Так что дату надо ставить принудительно!