Gdzie ją można znaleźć.
Chcę skonfrontować wersję metody date.getUTCDay (), z tą właściwą, bo dziwnie się zachowuje.
<html> <head> <script type="text/javascript" charset="UTF-8"> function wyl () { var mies var dzien var tyg var data var dlmi var wer var rok var dek var olimp kum = 0 pocz = 0 nas = new Array nas [-1] = 0 nas [0] = 31 nas [1] = 60 nas [2] = 91 nas [3] = 121 nas [4] = 152 nas [5] = 182 nas [6] = 213 nas [7] = 244 nas [8] = 274 nas [9] = 305 nas [10] = 335 nas [11] = 366 do { rok = parseInt (prompt ("Podaj numer roku:")) } while (rok < 0) olimp = parseInt (rok % 4) dek = parseInt (rok / 4) alert (dek) kum = kum + (dek * 1461) + (olimp * 365) do { mies = parseInt (prompt ("Podaj numer miesiąca:")) } while ((mies < 0) || (mies > 11)) kum = kum + nas [mies - 1] alert (kum) dlmi = nas [mies] - nas [mies - 1] if ((rok == 0) || (olimp != 0)) //Rok z krótszym lutym { if (mies == 1) { dlmi = 28 //Jeśli luty to wiadomo } else { kum = kum - 1 } } alert (dlmi) do { dzien = parseInt (prompt ("Podaj dzień")) } while ((dzien < 1) || (dzien > dlmi)) kum = kum + dzien tyg = kum % 7 data = new Date (rok, mies, dzien) wer = data.getDay () alert (kum + "\n" + tyg + "\n" + wer) } </script> <head> </body> <script type="text/javascript" charset="UTF-8"> wyl () </script> </body> </html>
Zbyt pomocne to to nie jest, bo jak widzisz wszystko obliczane jest w DateInstance i GregorianDateTime, które zaś korzystają z jeszcze innych obiektów itd. Możesz sobie poprzeglądać źródła.
EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&DateInstance::info)) return throwVMTypeError(exec); DateInstance* thisDateObj = asDateInstance(thisValue); const GregorianDateTime* gregorianDateTime = thisDateObj->gregorianDateTimeUTC(exec); if (!gregorianDateTime) return JSValue::encode(jsNaN()); return JSValue::encode(jsNumber(gregorianDateTime->weekDay)); }