Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Biblioteka standarowa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
jscst
Gdzie ją można znaleźć.

Chcę skonfrontować wersję metody date.getUTCDay (), z tą właściwą, bo dziwnie się zachowuje.
kamil4u
https://developer.mozilla.org/index.php?tit.../Date/getUTCDay ?

Co znaczy, że dziwnie się zachowuje - daj przykład.
jscst
Ja chcę zobaczyć kod funkcji, a jeśli chcesz mi poprawiać kod to patrz:

  1. <script type="text/javascript" charset="UTF-8">
  2. function wyl ()
  3. {
  4. var mies
  5. var dzien
  6. var tyg
  7. var data
  8. var dlmi
  9. var wer
  10. var rok
  11. var dek
  12. var olimp
  13. kum = 0
  14. pocz = 0
  15.  
  16. nas = new Array
  17.  
  18. nas [-1] = 0
  19. nas [0] = 31
  20. nas [1] = 60
  21. nas [2] = 91
  22. nas [3] = 121
  23. nas [4] = 152
  24. nas [5] = 182
  25. nas [6] = 213
  26. nas [7] = 244
  27. nas [8] = 274
  28. nas [9] = 305
  29. nas [10] = 335
  30. nas [11] = 366
  31.  
  32. do
  33. {
  34. rok = parseInt (prompt ("Podaj numer roku:"))
  35. }
  36. while (rok < 0)
  37.  
  38. olimp = parseInt (rok % 4)
  39. dek = parseInt (rok / 4)
  40. alert (dek)
  41. kum = kum + (dek * 1461) + (olimp * 365)
  42.  
  43. do
  44. {
  45. mies = parseInt (prompt ("Podaj numer miesiąca:"))
  46. }
  47. while ((mies < 0) || (mies > 11))
  48.  
  49. kum = kum + nas [mies - 1]
  50. alert (kum)
  51. dlmi = nas [mies] - nas [mies - 1]
  52.  
  53. if ((rok == 0) || (olimp != 0)) //Rok z krótszym lutym
  54. {
  55. if (mies == 1)
  56. {
  57. dlmi = 28 //Jeśli luty to wiadomo
  58. }
  59. else
  60. {
  61. kum = kum - 1
  62. }
  63. }
  64.  
  65. alert (dlmi)
  66.  
  67. do
  68. {
  69. dzien = parseInt (prompt ("Podaj dzień"))
  70. }
  71. while ((dzien < 1) || (dzien > dlmi))
  72.  
  73. kum = kum + dzien
  74. tyg = kum % 7
  75.  
  76. data = new Date (rok, mies, dzien)
  77. wer = data.getDay ()
  78.  
  79. alert (kum + "\n" + tyg + "\n" + wer)
  80.  
  81. }
  82. </body>
  83. <script type="text/javascript" charset="UTF-8">
  84.  
  85. wyl ()
  86. </body>
  87. </html>


A te dziwne zachowanie to prawidłowe wyniki dla dat powiedzmy (sprawdzałem do 10 n.e.) w okresie życia Jezusa, a dla bardziej dzisiejszych (nasz wiek) dat są błędne.
kamil4u
http://www.ecma-international.org/publicat...ds/Ecma-262.htm i w pdf

Cytat
15.9.5.17 Date.prototype.getUTCDay ( )
1.Let t be this time value.
2.If t is NaN, return NaN.
3.Return WeekDay(t).



Cytat
15.9.1.6
Week Day
The weekday for a particular time value t is defined as
WeekDay(t)
= (Day(t) + 4) modulo 7
A weekday value of 0 specifies Sunday; 1 specifies Monday; 2 specifies Tuesday; 3 specifies Wednesday;
4 specifies Thursday; 5 specifies Friday; and 6 specifies Saturday. Note that WeekDay(0) = 4, corresponding to
Thursday, 01 January, 1970.
Crozin
Cytat
Ja chcę zobaczyć kod funkcji
Chodzi o Date.getUTCDay(), tak? Ona jest napisana w C++, przykład implementacji z WebKita:
  1. EncodedJSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec)
  2. {
  3. JSValue thisValue = exec->hostThisValue();
  4. if (!thisValue.inherits(&DateInstance::info))
  5. return throwVMTypeError(exec);
  6.  
  7. DateInstance* thisDateObj = asDateInstance(thisValue);
  8.  
  9. const GregorianDateTime* gregorianDateTime = thisDateObj->gregorianDateTimeUTC(exec);
  10. if (!gregorianDateTime)
  11. return JSValue::encode(jsNaN());
  12. return JSValue::encode(jsNumber(gregorianDateTime->weekDay));
  13. }
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.
jscst
A gdzie jest folder z plikami zawierającymi definicje funkcji?

Wskażecie je to sobie kulturalnie znajdę i obejrzę bez zawracanie wam du....
Crozin
WebKit -> JavaScriptCore -> runtime
jscst
Dzięki za pomoc, temat gotowy do zamknięcia tylko napiszcie jakie są tu formalne metody wyrażenia uznania.
Crozin
Cytat
tylko napiszcie jakie są tu formalne metody wyrażenia uznania
Jeżeli za tydzień będziesz mógł coś ciekawego napisać na ten temat, to nie krępuj się. Jeżeli nie, a problemy zostały rozwiązane możesz uznać wątek za zamknięty.
jscst
Może...

No i klops poszukałem sobie webkita w Google, znalazłem WebKit-SVN-r74232 i wyszło, że to nie to. Wiesz jak się do tego dobrać?
Crozin
Dlaczego nie skorzystasz ze... strony projeku? http://webkit.org/building/checkout.html
jscst
No masz rację....

Okazało się, że ściągnąłem źródła, które muszę teraz skompilować.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.