Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Odliczanie czasu
Forum PHP.pl > Forum > Przedszkole
R0ckY
Witam wink.gif Postanowiłem trochę "zmodyfikować" skrypt odliczania w PHP z internetu, ale w taki sposób żeby pokazywał Dni, godziny i minuty (z sekundami sobie nie poradziłem) ale sobie i z tym nie poradziłem ponieważ raz działa raz nie.
Problem polega na tym, że w przypadku gdy czas jest mniejszy niż 30 minut w danej godzinie to czas jest ujemny i leci w górę zamiast w dół.

Co zrobić aby to zadziałało?

  1. <?php
  2. function odlicz($hour, $minute, $second, $month, $day, $year) {
  3.  
  4. $eventDate = mktime($hour, $minute, $second, $month, $day, $year);
  5. $today = mktime();
  6.  
  7. $secondsTo = $eventDate - $today;
  8. $minutesTo = round($secondsTo / 60);
  9. $hoursTo = round($minutesTo / 60);
  10. $daysTo = round($hoursTo / 24);
  11.  
  12. $hours = round(($minutesTo/60)-($daysTo*24));
  13. $mins = round(($secondsTo/60)-($hoursTo*60));
  14.  
  15.  
  16. $values = array (
  17. "min" => $mins,
  18. "hour" => $hours,
  19. "days" => $daysTo,
  20. );
  21.  
  22. return $values;
  23.  
  24. }
  25.  
  26. ?>


Pozdrawiam smile.gif
gr56
  1. function odlicz($hour, $minute, $second, $month, $day, $year) {
  2.  
  3. $eventDate = mktime($hour, $minute, $second, $month, $day, $year);
  4. $today = time();
  5.  
  6. $seconds = $eventDate - $today;
  7.  
  8. return array (
  9. "days" => floor($seconds/(24*60*60)),
  10. "hour" => floor(($seconds%(24*60*60))/(60*60)),
  11. "min" => floor((($seconds%(24*60*60))%(60*60))/60),
  12. "seconds" => floor((($seconds%(24*60*60))%(60*60))%60)
  13. );
  14. }

Ogólnie mówiąc:
licząc dni po prostu dzielisz przez sekundy,
licząc godziny dzielisz przez resztę z dzielenia dni,
licząc minuty dzielisz przez resztę z dzielenia godzin,
licząc sekundy dzielisz przez resztę z dzielenia minut
R0ckY
Dzięki wielkie smile.gif Temat do zamknięcia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.