Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Biblioteka standarowa
jscst
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.11.2010

Ostrzeżenie: (0%)
-----


Gdzie ją można znaleźć.

Chcę skonfrontować wersję metody date.getUTCDay (), z tą właściwą, bo dziwnie się zachowuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


https://developer.mozilla.org/index.php?tit.../Date/getUTCDay ?

Co znaczy, że dziwnie się zachowuje - daj przykład.

Ten post edytował kamil4u 22.12.2010, 12:50:02


--------------------
Go to the top of the page
+Quote Post
jscst
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.11.2010

Ostrzeżenie: (0%)
-----


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.

Ten post edytował jscst 22.12.2010, 15:12:37
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


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.


Ten post edytował kamil4u 22.12.2010, 16:33:06


--------------------
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Crozin 22.12.2010, 17:07:28
Go to the top of the page
+Quote Post
jscst
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.11.2010

Ostrzeżenie: (0%)
-----


A gdzie jest folder z plikami zawierającymi definicje funkcji?

Wskażecie je to sobie kulturalnie znajdę i obejrzę bez zawracanie wam du....
Go to the top of the page
+Quote Post
Crozin
post
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


WebKit -> JavaScriptCore -> runtime
Go to the top of the page
+Quote Post
jscst
post
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.11.2010

Ostrzeżenie: (0%)
-----


Dzięki za pomoc, temat gotowy do zamknięcia tylko napiszcie jakie są tu formalne metody wyrażenia uznania.
Go to the top of the page
+Quote Post
Crozin
post
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Crozin 22.12.2010, 23:54:14
Go to the top of the page
+Quote Post
jscst
post
Post #10





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.11.2010

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
Crozin
post
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Dlaczego nie skorzystasz ze... strony projeku? http://webkit.org/building/checkout.html
Go to the top of the page
+Quote Post
jscst
post
Post #12





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.11.2010

Ostrzeżenie: (0%)
-----


No masz rację....

Okazało się, że ściągnąłem źródła, które muszę teraz skompilować.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:04