date minus zahl

nordi

Erfahrenes Mitglied
Hallo Leute,

ich hab eine Frage, wie man einen Countdown in PHP schreiben kann.
Ich hab da schon so einiges ausprobiert, leider verliefen alle Versuche schief ;) Also, ich wollte einen Countdown schreiben, der die Tage bis Weihnachten runterzählt. Von heute aus, müssten es noch 79 Tage sein *glaube ich*
Also, ich wollte das so machen. Nach langem überlegen, macht dieses script überhaupt keinen Sinn, aber egal

PHP:
<?php
$datum = date("d.m.Y"); // ermittelt das heutige Datum
$xmas = 79; // Noch 79 Tage bis Weihnachten
$wielang = $datum - $xmas; // keine Ahnunh - hätte ja klappen können
echo $wielang; ?> // wiedergabe

So, habt ihr ne Idee wie man das machen kann?

grüße aus köln

Jeff
 
versuch´s ma hiermit

PHP:
<?
$nowdate = mktime(0,0,0,date("m"),date("d"));
$xmas = mktime(0,0,0,"12","24");
$resttime=intval(($xmas-$nowdate)/(60*60*24));
echo $resttime;
?>
 
du kannst dir doch einfach den aktuellen timestamp hernehmen und dann die anzahl sekunden, die in 79 tagen enthalten sind (ca. 79 * 86400), dazu addieren. und aus der zahl erstellst du dir einfach ein neues datum und gibst das dann aus.
 
Ja, hab auch schonmal unter timestamp geguckt, blick da aber noch nicht ganz durch!
Was ist mktime für ein befehl??

grüße aus köln

marius
 
mktime ist eine funktion, die aus den einzelnen bestandteilen eines datums (tag, monat, jahr, stunde, minute, sekunde) den entsprechenden timestampt ermittelt.
ein timestamp ist die anzahl sekunden, die seit dem 1.1.1970 um 0:00 vergangen sind.
 
Datum

So unten eine Funktion von meiner HP, ich habe die Berechnung schon vertauscht, sollte klappen. Übergeben wird das Zieldatum.
Die Funktion ist eigentlich mal gedacht gewesen als since, also soviwele Tage sind seitdem vergangen. Aber nach der Umstellung der Berechnung müsste es jetzt so gehen.

Enjoy!
Greetz
creAte

/*
---------------------------------------------------------------
Original: PHP-SNIPPET
Homepage: http://www.php-snippet.de

This script and many more are available free online at
http://www.php-snippet.de - Freaks like me!
---------------------------------------------------------------
Argumente:
Tag, Monat, Jahr
*/

function since($day, $month, $year) {
$since = mktime(0, 0, 0, $month, $day, $year);
$currentDate = time();

$diff = ($since-$currentDate);

$days = floor($diff / 24 / 60 / 60 );
$diff = $diff - ($days *24 *60 *60);

$hours = floor($diff / 60 / 60);
$diff = ($diff - ($hours*60*60));

$minutes = floor($diff/60);
$diff = $diff - ($minutes*60);

$seconds = floor($diff);

print ("$days Tage ");
print ("$minutes Minuten und ");
print ("$seconds Sekunden sind seit dem $day.$month.$year vergangen!");

/*
* ALTERNATIV:
* RÜCKGABE ALS ARRAY IM FORMAT
* 0 => Tage
* 1 => Minuten
* 2 => Sekunden
* 3 => Startdatum
* 4 => Aktuelle Zeit als UNIX-TIME
*/

$sinceArray = array (
0 => "$days",
1 => "$minutes",
2 => "$seconds",
3 => "$day.$month.$year",
4 => "$currentDate"
);

return($sinceArray);

} // END since()

$show = since(24, 12, 2002);
echo $show[0];
 
Zurück