Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Roznica 2 dat i godzin - Dziwny problem !
wasik89
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 10.09.2008

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


Witam.
Czytalem juz mase postow na tym forum, przesiedzialem troche w manualu, ale na rozwiazanie swojego problemu nie natrafilem smile.gif

Zadanie: roznica 2 dat i godzin.
Problem: Kiedy roznica jest mala date poczatku (starsza) traktuje jako wartosc wieksza (wynik strtotime()) niz date terazniejsza.
Dla pozniejszych roznic liczy ok.

Skrypt:
  1. public static function timeDiff($date1, $date2)
  2. {
  3. $date1 = is_int($date1) ? $date1 : strtotime($date1, time());
  4. $date2 = is_int($date2) ? $date2 : strtotime($date2, time());
  5.  
  6. if($date1 !== -1 && $date1 !== -1)
  7. {
  8. if($date2 >= $date1)
  9. {
  10. $diff = ($date2 - $date1);
  11.  
  12. if ($days = intval(floor($diff / 86400))) $diff %= 86400;
  13. if ($hours = intval(floor($diff / 3600))) $diff %= 3600;
  14. if ($minutes = intval(floor($diff / 60))) $diff %= 60;
  15.  
  16. return array($days, $hours, $minutes, intval($diff));
  17. }
  18. else
  19. {
  20. return false;
  21. }
  22. }
  23. return false;
  24. }


na przykladu: strtotime dla daty terazniejszej daje 1289678427, a dla wczesniejszej 1289681640 ... przez co wychodza mi liczby ujemne i funkcja zwraca false.
Jest jakis sposob na strtotime aby liczylo ok ?

Z gory dzieki ;p

-------------------------------
Problem rozwiazany. Gdzies w pliku rozruchowym mialem :
  1. date_default_timezone_set('UTC');

po skasowaniu tego juz wszystko smiga smile.gif


Ten post edytował wasik89 13.11.2010, 22:14:12
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: 22.08.2025 - 11:16