![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 14.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Robię kalendarz, który min ma wyliczać datę oddaloną o okres czasu
Działa to mniej więcej jak poniższy przykład 1)na podstawie danych początkowych (ustawienie w selektach) i kliknięciu w kalendarz określam datę początku okresu 2)wiem ile dany okres ma dni 3)obliczam datę końca okresu w sposób następujący 3.1)parsuję datę początku do milisekund (Date.parse()) 3.2)dodaję do tej liczby milisekund tylę milisekund ile zawiera się w dniach okresu (np 6 dni to 6*86400000) 3.3)na tej podstawie mam datę końcową Kod milisekundy = Date.parse(startDate); return new Date(milisekundy +dni*86400000) niby nic wielkiego - a pojawił się problem ZESTAW 1 WEJŚCIE 1)Data - 6 października 2009 2)Okres - 6 dni WYJŚCIE (jaka data za 6 dni) 1)Data - 12 października 2009 2)Różnica między datami - 6 dni ZESTAW 2 WEJŚCIE 1)Data - 20 października 2009 2)Okres - 6 dni WYJŚCIE (jaka data za 6 dni) 1)Data - 25 października 2009 2)Różnica między datami - 5 dni co widać na przykładowych alertach http://img522.imageshack.us/img522/6065/datap.jpg nie wiem czemu, ale właśnie na tej 20 się wykrzacza, gdy początek jest inny to jest OK - co ciekawe problem zaczyna się przy cyfrze 6 i jak na razie dla tej daty (20 października 2009) - gdy dodaję 1-5 jest OK powyżej jest jeden dzień mniej, gdy dodaję do innej daty - wcześniejszej, późniejszej to jest OK - ale jak się raz pojawiło, może i drugi, gdzieś indziej dla innej konfiguracji - czemu tak jest, jak można temu zaradzić? Ten post edytował fragles 11.10.2009, 20:26:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:46 |