Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja odliczania czasu
nikestylex7
post
Post #1





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


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. }?>


?

?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Dziel z resztą przez 60 i 3600. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


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.  


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
nikestylex7
post
Post #5





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


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. ?>
Go to the top of the page
+Quote Post
Sephirus
post
Post #6





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


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


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Damn, racja. Nie zauważyłem tego:
  1. $time = floor($time/60);
tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 20.08.2025 - 18:55