Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]funkcja odliczania czasu
Forum PHP.pl > Forum > Przedszkole
nikestylex7
Witam mam funkcje w php odliczania czasu lecz nie wiem jak ją przerobić tak żeby zamiast samego pokazywania np 5 godzin pokazywała 5godzin 12minut 10sekund. Jako time podawana jest wartość w sekundach czyli np 13000.
  1. <?php function czas($time){
  2. if($time <= 59){
  3. if($time <= 1){
  4. echo $time . " sekunde";
  5. }
  6. else if($time >= 2 && $time <= 4){
  7. echo $time . " sekundy";
  8. }
  9. else{
  10. echo $time . " sekund";
  11. }
  12. }
  13. else if($time >= 60 && $time <= 3599){
  14. $time = round($time / 60, 0);
  15. if($time <= 1){
  16. echo $time . " minute";
  17. }
  18. else if($time >= 2 && $time <= 4){
  19. echo $time . " minuty";
  20. }
  21. else {
  22. echo $time . " minut";
  23. }
  24. }
  25. else if($time >= 3600){
  26. $time = round($time / 3600,0);
  27. if($time <= 1){
  28. echo $time . " godzine";
  29. }
  30. else if($time >= 2 && $time <= 4){
  31. echo $time . " godziny";
  32. }
  33. else {
  34. echo $time . " godzin";
  35. }
  36. }
  37. }?>


?

?
erix
Dziel z resztą przez 60 i 3600. [;
Sephirus
Dla jasności:

  1. $time = 2313132; // liczba sekund
  2.  
  3. $sekund = $time%60; // dostajesz końcówkę czyli sekundy...
  4.  
  5. $time = floor($time/60); // zamieniamy $time na liczbę minut (wszystkich)
  6.  
  7. $minut = $time%60; // dostajesz końcówkę czyli minuty
  8.  
  9. $godzin = floor($time/60); // "dzielenie całkowite bez reszty" - liczba godzin
  10.  
erix
Tylko że to wymaga jeszcze przemnożenia i odpowiedniego odjęcia, bo zamiast dostać czas np. 3 minuty, 15 sekund, to wyjdzie: 3 minuty, 195 sekund.
nikestylex7
Zrobiłem opierając się o to co podałeś. Ładnie mi teraz odlicza 2 godziny 47 minut 34 sekund smile.gif

  1. <?php
  2. function czas($time){
  3.  
  4. $sekund = $time%60;
  5. $time = floor($time/60);
  6. $minut = $time%60;
  7. $godzin = floor($time/60);
  8.  
  9.  
  10. if($godzin <= 1){
  11. echo $godzin . " godzine";
  12. }
  13. else if($godzin >= 2 && $godzin <= 4){
  14. echo $godzin . " godziny";
  15. }
  16. else {
  17. echo $godzin . " godzin";
  18. }
  19. if($minut <= 1){
  20. echo $minut . " minute";
  21. }
  22. else if($minut >= 2 && $minut <= 4){
  23. echo $minut . " minuty";
  24. }
  25. else {
  26. echo $minut . " minut";
  27. }
  28. if($sekund <= 1){
  29. echo $sekund . " sekunde";
  30. }
  31. else if($sekund >= 2 && $sekund <= 4){
  32. echo $sekund . " sekundy";
  33. }
  34. else{
  35. echo $sekund . " sekund";
  36. }
  37. }
  38. ?>
Sephirus
Cytat
Tylko że to wymaga jeszcze przemnożenia i odpowiedniego odjęcia, bo zamiast dostać czas np. 3 minuty, 15 sekund, to wyjdzie: 3 minuty, 195 sekund.


@erix Czyżby? smile.gif
erix
Damn, racja. Nie zauważyłem tego:
  1. $time = floor($time/60);
tongue.gif
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.