Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana minut na godziny w formacie powyżej 24h
Forum PHP.pl > Forum > Przedszkole
matius71
Witam,

Nie mam za bardzo pomysłu jak w prosty sposób to zrobić a i nie moge nigdzie znaleźć tego co mnie interesuje.

Chodzi o obliczanie z minut ilości godzin i minut. Powiedzmy mam 14096min i chcę wyswietlić z tego ilość godzin i min w formacie HH:MM. Wszystkie rozwiązania które przychodzą mi do głowy są złe bo schodzy zaczynają się jeśli jest większa ilość godzin niż 24h zadziałajmy na liczbach.

Jak zamienić 14096min na godziny i minuty? jak podzielimy przez 60 to wychodzi 234h i 93 setne godziny więc kod tego typu:

  1. $time = $data['time'] / 60;
  2. ".number_format($time, 2)."


Odpada.

SmokAnalog
Podstawowe pytanie brzmi: co chcesz zwrócić dla 14096 minut?
Crash89
Kiedy otrzymasz te 234 h zrzutuj tą zmienną na typ int, dzięki czemu zostanie Tobie tylko liczba całkowitą i od 14000 minut odejmij 234 * 60, wtedy zostanie Tobie liczba minut.

np.

  1.  
  2. $hours = intval(14096/60);
  3. $minutes = 14096 - ($hours*60);
  4.  
Pyton_000
  1. <?php
  2.  
  3. $mins = 14096;
  4.  
  5. $hours = floor($mins/60);
  6. $mins = $mins - ($hours * 60);
  7.  
  8. printf('%s:%s', $hours, $mins);

najbardziej prymitywne rozwiązanie.
SmokAnalog
Pyton, a nie miało być zerofilla?
Pyton_000
jeśli ma być z zerami to wystarczy zamienić

`%s` -> `%02d`
matius71
Cytat(SmokAnalog @ 21.05.2018, 14:47:32 ) *
Podstawowe pytanie brzmi: co chcesz zwrócić dla 14096 minut?


powinno zwrócić 234:56 czyli 234h i 56min

Dopiero teraz miałem okazje sprawdzić jak to naprawdę działa i jestem naprawdę bardzo zadowolony, bardzo prosty kod i o takie coś mi właśnie chodziło wink.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.