ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
Ich bräuchte etwas Unterstützung, bei der Programmierung vom Datum unter PHP.
================================================
FRAGE1)
Wenn ein Datum in der SQL-Datenbank drinnen steht, wird dies auch angezeigt. Ist die DB leer, wird logischerweise der 01.01.1970 angezeigt.
Wie sieht jetzt eine IF-Abfrage aus, wenn ich folgende Struktur haben möchte?
//Wenn das Datum kleiner/gleich 01.01.1970 ist, steht nichts in der DB = keine Partydaten
if ($startdatum <= '1970-01-01')
{
echo "Es ist in nächster Zeit keine Party geplant";
}
else //wenn ein Datum für eine Party in der Datenbank vorhanden ist
{
echo "Die nächste Party ist am $startdatum;
}
================================================
FRAGE2)
Außerdem möchte ich noch die verbleibenden Tage angezeigt bekommen. Ist die Zeile:
$newDate = mktime(0,0,0, $startdatum);
korrekt?
================================================
<!-- Meine Quellcode -->
<!-- Wann ist die nächste Party ? -->
<?php
$startdatum = date("d.m.Y",$_SESSION['party_info']['partybegin']);
echo "nächste LAN am: " ,$startdatum;
//hier kommt der Code zur FRAGE 1 hin)
//Wieviele Tage sind es denn noch bis zur nächsten Party ?
$newDate = mktime(0,0,0, $startdatum); //hier muß die Variable für Frage 2 richtig angegeben werden)
// aktuelle Zeit im Unixformat erzeugen
$actDate = time();
// Differenz berechnen (in Sekunden)
$diffDate = ($newDate-$actDate);
// Anzahl Tage = Sekunden /24/60/60
// floor() liefert nur den Anteil vor dem Komma
$days = floor($diffDate / 24 / 60 / 60 );
// den verbleibenden Rest berechnen = Stunden
$diffDate = $diffDate - ($days*24*60*60);
// Ab hier, nicht benötigter Code...
// den Stundenanteil herausrechnen
// $hours = floor($diffDate / 60 / 60);
// $diffDate = ($diffDate - ($hours*60*60));
// den Minutenanteil
// $minutes = floor($diffDate/60);
// $diffDate = $diffDate - ($minutes*60);
// die verbleibenden Sekunden
// $seconds = floor($diffDate);
// und das ganze dann Anzeigen:
echo " Noch: $days Tage bis zur Party";
?>
================================================
FRAGE1)
Wenn ein Datum in der SQL-Datenbank drinnen steht, wird dies auch angezeigt. Ist die DB leer, wird logischerweise der 01.01.1970 angezeigt.
Wie sieht jetzt eine IF-Abfrage aus, wenn ich folgende Struktur haben möchte?
//Wenn das Datum kleiner/gleich 01.01.1970 ist, steht nichts in der DB = keine Partydaten
if ($startdatum <= '1970-01-01')
{
echo "Es ist in nächster Zeit keine Party geplant";
}
else //wenn ein Datum für eine Party in der Datenbank vorhanden ist
{
echo "Die nächste Party ist am $startdatum;
}
================================================
FRAGE2)
Außerdem möchte ich noch die verbleibenden Tage angezeigt bekommen. Ist die Zeile:
$newDate = mktime(0,0,0, $startdatum);
korrekt?
================================================
<!-- Meine Quellcode -->
<!-- Wann ist die nächste Party ? -->
<?php
$startdatum = date("d.m.Y",$_SESSION['party_info']['partybegin']);
echo "nächste LAN am: " ,$startdatum;
//hier kommt der Code zur FRAGE 1 hin)
//Wieviele Tage sind es denn noch bis zur nächsten Party ?
$newDate = mktime(0,0,0, $startdatum); //hier muß die Variable für Frage 2 richtig angegeben werden)
// aktuelle Zeit im Unixformat erzeugen
$actDate = time();
// Differenz berechnen (in Sekunden)
$diffDate = ($newDate-$actDate);
// Anzahl Tage = Sekunden /24/60/60
// floor() liefert nur den Anteil vor dem Komma
$days = floor($diffDate / 24 / 60 / 60 );
// den verbleibenden Rest berechnen = Stunden
$diffDate = $diffDate - ($days*24*60*60);
// Ab hier, nicht benötigter Code...
// den Stundenanteil herausrechnen
// $hours = floor($diffDate / 60 / 60);
// $diffDate = ($diffDate - ($hours*60*60));
// den Minutenanteil
// $minutes = floor($diffDate/60);
// $diffDate = $diffDate - ($minutes*60);
// die verbleibenden Sekunden
// $seconds = floor($diffDate);
// und das ganze dann Anzeigen:
echo " Noch: $days Tage bis zur Party";
?>