Hallo,
zufällig hab ich mir gestern auch etwas für diesen Zweck fertig gemacht, da ich so einen Zeitvergleich auch an verschiedenen Stellen mal nutze. Herausgekommen ist folgendes.
Einmal der Zeitvergleich an sich, den ich per ‚include‘ an verschiedenen Stellen nutze:
<?
function zeitprüfung ($einschaltzeiten){
$tag=(date("l")); $Stunde=(date("H")); $Minute=(date("i"));
$ist=mktime($Stunde, $Minute,0,0,0,0);
$count = count($einschaltzeiten);$i=0;
while ($i < $count) {
if (($einschaltzeiten[$i][0] == $tag)) {
$vh=substr($einschaltzeiten[$i][1],0,2); $vm=substr($einschaltzeiten[$i][1],3,2);
$bh=substr($einschaltzeiten[$i][2],0,2); $bm=substr($einschaltzeiten[$i][2],3,2);
$von=mktime($vh,$vm,0,0,0,0); $bis=mktime($bh,$bm,0,0,0,0);
if (($von<=$ist)&&($bis>=$ist)){
return true;
}
}
$i++;
}
return false;
}
?>
Und in den Scripten erstelle ich dann eine Tabelle mit den gültigen Zeiten und rufe das dann entsprechen ab. So kann ich auch eine oder mehrere Zeitfenster pro Wochentag eingeben.
Fällt die Zeit in einen güligen Zeitraum, wird die Variable ‚$power‘ ‚true‘, andernfalls ‚false‘. Beispiel:
<?
$einschaltzeiten =array(//Wochentag (Englisch), von (xx:xx), bis (xx:xx)
array("Saturday","06:50","12:59"),
array("Saturday","13:20","16:27"),
array("Sunday","08:30","21:59"),
array("Monday","08:30","21:59"),
array("Tuesday","07:50","22:59"),
array("Wednesday","07:50","22:59"),
array("Thursday","07:50","22:59"),
array("Friday","07:50","22:59")
);
include("Zeitpruefung");
$power=zeitprüfung($einschaltzeiten);//true/false
if ($power) echo "
Aktuelle Zeit liegt im gesuchten Zeitrahmen.";
else echo "
Aktuelle Zeit liegt nicht im gesuchten Zeitrahmen.";
?>
Damit das gnaze funktioniert, einfach das obere Script mit dem Namen ‚Zeitpruefung‘ abspeichern.
Vielleicht kann ja einer was damit anfangen.
Gruß
Smudo