[javascript] new Date() -dzień później |
[javascript] new Date() -dzień później |
25.11.2012, 14:37:47
Post
#1
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Witam nie mogę sobie poradzić z datą. W bardzo dużym uproszczeniu wygląda to tak, że w jednym polu input user korzystając z datepickera jQuery UI wybiera datę np '2012-11-23' i do dyspozycji ma kolejne pole input w którym wybiera kolejną datę (datę zakończenia) z tym, że po wybraniu pierwszej daty w drugim polu input pojawia mu się data o jeden dzień później od wybranej poprzednio.
Ten post edytował adamantd 25.11.2012, 14:38:57 |
|
|
25.11.2012, 15:36:57
Post
#2
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 24 Dołączył: 21.10.2012 Skąd: Puławy Ostrzeżenie: (0%) |
|
|
|
25.11.2012, 15:44:33
Post
#3
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Działa dzięki -choć nie rozumiem dlaczego bo próbowałem podobnie i kiedy kończył się miesiąc np pierwsza data była 31 to druga wyświetlona alertem miała wartość 32..
A tak na przyszłość nie wiesz dlaczego nie dało się ustawić time() na time()+3600*24 w PHP zawsze działa bez problemu w JS zawsze jest jakiś problem -w przykładzie który podałem
pytanie dlaczego? |
|
|
25.11.2012, 15:56:32
Post
#4
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
W PHP używałeś funkcji, które bazowały na timestamp'ie, który ma dokładność sekundową, a JS'owy date używa milisekund.
|
|
|
25.11.2012, 16:11:30
Post
#5
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Nescord -gdzieś ten elementarny szczegół mi uciekł, to ważne spostrzeżenie -dzięki, z tym, że nadal jest problem..
wrzuciłem kawałek mojego kodu - 1. Wszystko działa poprawnie w momencie kiedy w pierwszym polu input zostaje wybrany dzień każdy inny oprócz ostatniego dnia miesiąca 2. wybierając 31 grudnia w $dpr2 poprawnie zostaje umieszczona data 2013-01-01 (po obróbce funkcją fullData dodającą zera tam gdzie powinny być a ich nie ma) 3. Problem pojawia się w miesiącach innych niż grudzień np listopad ma 30 dni. W momencie wybrania w pierwszym polu dnia 30 w drugim pokazuje się 31 4. Kiedy wybiorę dzień 31 w pierwszym polu to w drugim pokazuje się następny miesiąc oraz dzień 02.... nie mogę zrozumieć dlaczego Ten post edytował adamantd 25.11.2012, 16:12:15 |
|
|
25.11.2012, 16:32:47
Post
#6
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Jeżeli dobrze rozumiem twój problem, to jest on wynikiem tego, że Date przyjmuje jako drugi parametr miesiąc z tym, że miesiące zaczynaja się od zera, czyli 0 => styczeń.
|
|
|
25.11.2012, 16:38:48
Post
#7
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Oczywiście, że tak teraz wszystko działa tak jak należy -kiedy wcześniej robiłem -1 to nie robiłem *1000 a kiedy już robiłem *1000 to zapomniałem o tym, że ma być -1 w setMonth, teraz oba błędy są poprawione dzięki |
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 16:53 |