Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zamiana sekund, na wieksze jednostki, Zamienia np 123 na 2min 3s
hwao
post 14.09.2006, 20:01:02
Post #1


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Taka pisana na szybko, bo na ircu poproszono, moze sie komus przyda:
  1. <?php
  2.  
  3. /**
  4.  * secondToSting()
  5.  * 
  6.  * Funkcja zamienia czas w sekundach, na wieksze jednostki
  7.  *
  8.  * @author Paweł `hwao` Halicki
  9.  * @param integer $iSeconds
  10.  * @return string
  11.  */
  12. function secondToString( $iSeconds ) {
  13. $aUnits = array(
  14. 60*60*24*356 => 'y', // lata
  15. 60*60*24*30 => 'm', // miesiace
  16. 60*60*24 => 'd',  // dni
  17. 60*60 => 'h', // godziny
  18. 60 => 'i', // minuty
  19. 1  => 's', // sekundy
  20. );
  21. // Jeżeli ułożyłeś tablice w kolejności malejącej
  22. // Możesz usunać linijke po niżej :)
  23. krsort( $aUnits );
  24.  
  25. $sString = '';
  26. foreach( $aUnits As $iTime => $sTime ) {
  27. $iDiv = $iSeconds/$iTime;
  28. if( $iDiv >= 1 ) {
  29. $x = floor( $iDiv );
  30. $sString .= $x.''.$sTime.' ';
  31. $iSeconds-= $x*$iTime;
  32. }
  33. }
  34. return $sString;
  35. }
  36.  
  37. echo secondToString( 123 );
  38.  
  39. ?>

Ps wiem ze miechy, sa ruchome, dlatego najlepiej stosowac z przyblizeniem do dni
Go to the top of the page
+Quote Post
Spirit86
post 15.09.2006, 09:27:07
Post #2





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


po co niepotrzebnie obciążać serwer - zamiast 60*60 można wpisać 360, zamiast 60*60*24 86400 itd. itd. (za każdym wykoniem skryptu serwer musi wykonać jakieś obliczenia, po co? Niby są to proste obliczenia, ale jak się ich zbierze 100 w skrypcie, zostaną wykonane dla 100 osób odwiedzających i tak przez cały dzień, to bez sensu tongue.gif


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
hwao
post 15.09.2006, 12:42:58
Post #3


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Jak ktos chce, to sobie tak wpisze, ja dalem tak zeby bylo widac skad te liczby - podobnie jak komus nie potrzeba to usunie te ponad dniem
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: 15.08.2025 - 04:37