[php] tijd weergeven in x dagen, uren, minuten etc

Pagina: 1
Acties:
  • 189 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Ik ben een aanklooiende php-er en ben bezig met een heel simpel stukje code om uit te rekenen hoeveel dagen, uren, minuten en seconden ik met mijn vriendin heb... :*

Maar het lukt me niet om $day3 (het aantal seconden dat we iets hebben) om te zetten naar dat aantal dagen, uren, minuten en seconden... :s
PHP:
1
2
3
4
5
6
7
8
9
<?
$day1 = 1009417560; //timestamp van de datum dat het aan ging.
$day2 = time (); //timestamp van nu
$day3 = $day2 - $day1; // aantal s dat het aan is
$seconden = $day3;
$minuten = $day3/60;
$uren = $minuten/60;
$dagen = $uren/24;
?>

Uiteindelijk wil ik gewoon iets als:
"We hebben nu ## dagen, ## uren, ## minuten en ## seconden."

K*T!! Vergeten titel te geven aan dit topic!!! Wilde ik op het eind doen!!! SORRY! ;(

Acties:
  • 0 Henk 'm!

  • jurri@n
  • Registratie: Maart 2000
  • Laatst online: 10:09
PHP:
1
2
3
4
5
6
7
8
<?
$dagen=floor($dag3/68400); # aantal dagen
$dag3=$dag3%68400; # wat overblijft
$uren=floor($dag3/3600); # aantal uren
$dag3=$dag3%3600; #wat overblijft
$minuten=floor($dag3/60); #aantal minuten
$seconden=$dag3%60; # aantal seconden
?>

Acties:
  • 0 Henk 'm!

Anoniem: 42629

De php code kan ik zo snel niet maken maar wel een algoritme om te gebruiken.

Je kijkt eerst hoevaak je er 86400 in zijn geheel af kan halen, dat zijn het aantal dagen.
Daarna kijk je hoevaak je er 3600 ah kan halen, aantal uur.
Daarna hoevaak je er 60 af kunt halen.
En wat je overhoudt zijn seconden.

Misschien is er ook wel een functie voor die dit doet maar dat weet ik dan niet ;)

Freez0r

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 09-05 10:50

chem

Reist de wereld rond

van een collega geript:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
function retreldate($seconds) {
    $modulos = array(604800, 86400 , 3600 , 60 , 1);

    if(LOCALE == 'nl_NL')
        $strings = array('weken', 'dagen', 'uren', 'minuten', 'seconden');
    else
        $strings = array('weeks', 'days', 'hours', 'minutes', 'seconds');

    foreach ($modulos as $index => $modulo)
    {
        if ($seconds == 0)
            break;
        if (floor($seconds / $modulo) > 0 )
        {
            $str[] = floor($seconds / $modulo).' '.$strings[$index];
            $seconds %= $modulo;
        }
    }
    
    if(sizeof($str) == 0) {
        $str[] = '0 '.$strings[4];            
    }

    return implode((array)$str,', ');
}
?>

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Thnx!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$day1 = 1009417560;
$day2 = time ();
$day3 = $day2 - $day1;
$dagen = floor($day3/86400);
$dagrest = $day3%68400;
$uren = floor($dagrest/3600);
$uurrest = $day3%3600;
$minuten = floor($uurrest/60);
$minuutrest = $day3%60;
$seconden = $minuutrest%60;

echo ("we hebben op dit moment $dagen dagen, $uren uren, $minuten minuten en $seconden seconden...<br>");
echo ("En dat is best lang met een hoer als jij! KUZZZZ!<br>");
?>

Werkt! :)

Acties:
  • 0 Henk 'm!

Anoniem: 24408

edit:
ach laat ook maar
Pagina: 1