getUTCDay
возвращает целое число, обозначающее день недели: 0 - воскресенье, 1 - понедельник, 2 - вторник, и т.д.
Пример: День запуска спутника
var sputnikLaunch = new Date("October 4, 1957 19:28:34 GMT")
// Здесь получится 5 - пятница
day = sputnikLaunch.getDay()
var sdate=new Date(2006, 0, 1);
var first_day=sdate.getUTCDay();// ==6
понедельник =1 ... воскресенье=6
странно...
d = new Date(2013, 1, 25);
>>Mon Feb 25 2013 00:00:00 GMT+0200 (EET)
d.getUTCDay()
>>0
d = new Date(2013, 1, 24);
>>Sun Feb 24 2013 00:00:00 GMT+0200 (EET)
d.getUTCDay()
>>6
0 - понедельник
6 - воскресенье
Ничего странного - Вы создали дату 24 февраля с локальным временем 00:00
Обратите внимание на "GMT+0200" - это тоже самое что и "UTC+0200".
Таким образом, что бы получить время (и дату) UTC от созданного Вами времени надо отнять 2 часа, что приведет к тому, что дата изменится на субботу 23 февраля. А суббота = 6!