Tage runterzählen

rollerueckwaerts

Erfahrenes Mitglied
Hallo liebe tutorials Gemeinde, bin gerad dabei nen kleinen Countdown ( bis Tag X ) zu basteln. Dabei stoß ich auf das Problem das am Ende 24 Tage als Differenz rauskommen, obwohls offensichtlich 52 sind ..... so sieht die Ausgabe aus

Freitag, 25. Juli 2008, 16:59:12 Uhr
- Samstag, 03. Mai 2008, 19:59:12 Uhr
= Dienstag, 24. März 1970, 21:00:00 Uhr // 24 Tage ? Sind doch aber 52 dazwischen :)


1216997952
- 1209837552
= 7156800 ?

So sieht der Code aus

PHP:
$dayx = mktime($expiration);  // in diesem Fall 2008-06-25
$differenz = $dayx - time();
$counter = 'Dein Account ist noch '.date("d",$differenz).' Tage und '.date("h",$differenz).' Stunde '.date("m",$differenz).' Minuten gültig!';


Hoffe mir kann jemand helfen warum er mir 24 statt 52 ausgibt, Die Differenz geht ja eindeutig über nen Monat hinaus .... !?

Lieben Dank schoma jetz.
Greetz
Tom
 
Zuletzt bearbeitet:
Du rechnest falsch ;)

Die Restzeit kannst du nicht weiter mit [phpf]date[/phpf] verarbeiten, da sie Sekunden darstellen, aber keinen absoluten Timestamp mehr.

PHP:
$dayx = mktime($expiration);  // in diesem Fall 2008-06-25
$differenz = $dayx - time(); // Sekunden!

$minutes = $differenz / 60;
$hours = $minutes / 60;
$days = $hours / 24;
// usw.
 
so hats geklappt.

PHP:
$firstarray=explode(" ",$expiration); 
		$date=$firstarray[0];
                $time=$firstarray[1];
    
                $datumarray=explode("-",$date); 
		$day=$datumarray[2];
                $month=$datumarray[1];
                $year=$datumarray[0];
	
	        $timearray=explode(":",$time); 
		$sek=$timearray[2];
                $min=$timearray[1];
                $hour=$timearray[0];
     
  $dayx = mktime($hour,$min,$sek,$month,$day,$year);

Danke
 
Zuletzt bearbeitet:
Gut, ich vermutete, dass du [phpf]mktime[/phpf] bereits vereinfacht hattest.

Deine Weise ist sehr umständlich, benutze lieber [phpf]strtotime[/phpf].

PHP:
<?php
$expiration = '2008-06-25';
$dayx = strtotime($expiration);  // in diesem Fall 2008-06-25
$differenz = $dayx - time(); // Sekunden!

$minutes = $differenz / 60;
$hours = $minutes / 60;
$days = $hours / 24; 

?>
 
Zurück