Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Bardzo ciekawy problem z datą., Błąd php? Kłopoty mktime przy dodawaniu jednego dnia do daty.
ark_ak
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 27.01.2008

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


Czy ktoś wytłumaczy mi, dlaczego, np:
  1. $date = '2010-05-31';
  2. $oneDay = mktime(0,0,0,0,1,0) - mktime(0,0,0,0,0,0);
  3. echo date('Y-m-d', strtotime($date) + $oneDay);


Zwraca to, czego oczekuje, tj. 2010-06-01

ale...

  1. $date = '2010-10-31';
  2. $oneDay = mktime(0,0,0,0,1,0) - mktime(0,0,0,0,0,0);
  3. echo date('Y-m-d', strtotime($date) + $oneDay);


Już nie potrafi przeskoczyć na listopad? Licznik stoi na 2010-10-31. Co ciekawe, mam ten problem i na localhoscie (php 5.3.3), jak i na nazwa.pl (php 5.2.13). Dla 2009-10-31 dodanie jednego dnia powoduje przeskoczenie na 2009-11-01. Kompletnie nie wiem z której strony to ugryźć.
Go to the top of the page
+Quote Post
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Hmm, to rzeczywiście ciekawe. Tzn nie sprawdzałem u siebie ale wierzę na słowo.
A nie możesz zrobić tak?
  1. echo date('Y-m-d', strtotime($date "+ one day");
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A czy po prostu tego dnia nie ma jakieś zmiany czasu?
  1. $date = new DateTime('2010-10-31');
  2. $date->add(new DateInterval('P1D'));
  3. print_r($date);
Go to the top of the page
+Quote Post
Zyx
post
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Masz ustawioną polską strefę czasową. 31 października 2010 jest niedziela, czyli ostatnia niedziela tego miesiąca, czyli niedziela dłuższa o godzinę.

PS. Długość doby to możesz sobie na kalkulatorze wyliczyć i na sztywno zapisać, a nie kazać mu to przeliczać za każdym razem: 86400 (IMG:style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 10:07