======[PHP] Zeit bis zum Sonnenauf/untergang====== = 0){ echo "es geht nocht {$sunriseToday['hours']} Stunden und {$sunriseToday['minutes']} Minuten bis zum Sonnenaufgang"; //Ansonsten prüfen ob der Sonnenuntergang noch nicht vorbei ist (Jetzt ist nach Sonnenaufgang, jedoch vor Sonnenuntergang) }elseif($sunsetToday['diffSec'] >= 0){ echo "es geht nocht {$sunsetToday['hours']} Stunden und {$sunsetToday['minutes']} Minuten bis zum Sonnenuntergang"; //Ansonsten mit dem Sonnenaufgang von Morgen rechnen (Jetzt ist nach Sonnenuntergang) }else{ //Sonnenaufgang morgen $sunriseTomorrow = getSunTime(C_FUNC_SUNRISE, strtotime('+1 day')); echo "es geht nocht {$sunriseTomorrow['hours']} Stunden und {$sunriseTomorrow['minutes']} Minuten bis zum Sonnenaufgang (Morgen)"; } /** * Berechnet die verschiedenen Elemente Rund um die Differenz von Jetzt und dem Wert * der Funktionen date_sunrise und date_sunset * @param String $function Name der Funktion. C_FUNC_SUNRISE oder C_FUNC_SUNSET * @param Timestamp $time Timestamp für den Tag an dem die Berechnung stattfinden soll * @return Array Alle Informationen die gebraucht werden * "timestamp" UnixTimeStamp des Sonnenauf/untergangs * "diffSec" Differenz des timestamps zu jetzt * "hours" Der Stundenanteil der Differenz * "minutes" Der Minutenanteil der Differenz * "seconds" Der Sekundenanteil der Differenz */ function getSunTime($function = C_FUNC_SUNRISE, $time = NULL){ //Timestamp des Sonnenaufg/untergangs nach Greenwich ermitteln //Der gmt-Offset scheint bei mir lokal nicht zu funktionieren, Wenn ich als Rückgabe den //Timestamp haben will. Dies wird in weiter unten korrigiert $timestamp = $function(time(), SUNFUNCS_RET_TIMESTAMP, C_LATITUDE, C_LANGITUDE, C_ZENIT, 0); //date_sunrise mit gmtoffset korrigieren $retArr['timestamp'] = strtotime('+ '.C_GMTOFFSET.' Hours', $timestamp); //Differenz in Sekunden zu jetzt berechnen $retArr['diffSec'] = $retArr['timestamp'] - time(); //In Stunden $retArr['hours'] = $retArr['diffSec'] / 3600 % 24; //Minuten $retArr['minutes'] = $retArr['diffSec'] / 60 % 60; //und Sekunden $retArr['seconds'] = $retArr['seconds'] % 60; return $retArr; } ?>