Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] czas w sekundach
lordmonkey
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 2.02.2009

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


witam,
chciałem się zapytać jak można przekształcić czaś który mam obliczony w sekundach w zmiennej załóżmy $i na taki czas żeby był zawsze w najwyższych jednostkach, czyli jeśli mam $i=45 to wtedy chce wyprintować 45s, jeśi mam 3602 to chce wyprintować 1h 0m 2s itd.

W sumie to wymyśliłem coś takiego ale pewnie jest jakaś wbudowana funkcja która to lepiej zrobi :
zmienna $one to liczba sekund:
Kod
$one_seconds = $one%60;
$one_minutes = floor($one/60);
$one_hours = floor($one/3600);


Ten post edytował lordmonkey 1.04.2009, 17:13:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


http://pl.php.net/manual/pl/book.datetime.php i daj znać czy jest taka funkcja smile.gif

--edit--
A nie będę Cię tak maltretował tongue.gif i dam Ci podpowiedź: znana funkcja czasowa(wystarczy przetłumaczyć) i komentarze do niej tongue.gif

Ten post edytował kamil4u 1.04.2009, 18:00:29


--------------------
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. <?php
  2. $sekund = 3602;
  3. $iH=sprintf("%02d",floor((($sekund%604800)%86400)/3600));
  4. $iM=sprintf("%02d",floor(((($sekund%604800)%86400)%3600)/60));
  5. $iS=sprintf("%02d",floor((((($sekund%604800)%86400)%3600)%60)));
  6.  
  7. echo "$iH $iM $iS";
  8. ?>
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: 21.08.2025 - 22:17