Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zamiana minut na godziny w formacie powyżej 24h
matius71
post 21.05.2018, 13:34:26
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 22.08.2009

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


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.

Go to the top of the page
+Quote Post
SmokAnalog
post 21.05.2018, 13:47:32
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Podstawowe pytanie brzmi: co chcesz zwrócić dla 14096 minut?
Go to the top of the page
+Quote Post
Crash89
post 21.05.2018, 13:53:03
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


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.  
Go to the top of the page
+Quote Post
Pyton_000
post 21.05.2018, 13:53:13
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  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.
Go to the top of the page
+Quote Post
SmokAnalog
post 21.05.2018, 13:56:12
Post #5





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Pyton, a nie miało być zerofilla?
Go to the top of the page
+Quote Post
Pyton_000
post 21.05.2018, 14:14:38
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


jeśli ma być z zerami to wystarczy zamienić

`%s` -> `%02d`
Go to the top of the page
+Quote Post
matius71
post 28.05.2018, 00:43:15
Post #7





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 22.08.2009

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


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
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 15:11