<?php
date_default_timezone_set('Europe/Berlin');
function getsuntimes($sunrisemin,$sunsetmin){
$result = file_get_contents('http://weather.yahooapis.com/forecastrss?w=12835286&u=c');
$xml = simplexml_load_string($result);
$xml->registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0');
$astronomy = $xml->channel->xpath('yweather:astronomy');
$sunrise = $astronomy[0]['sunrise'];
$sunset = $astronomy[0]['sunset'];
$sunrise = date("G:i", strtotime($sunrise));
$sunset = date("G:i", strtotime($sunset));
$dt = DateTime::createFromFormat('H:i', $sunrise);
if ($sunrisemin > 0) {
$dt->add(new DateInterval('PT'.$sunrisemin.'M'));
} else {
$sunrisemin = str_replace('-','',$sunrisemin);
$dt->sub(new DateInterval('PT'.$sunrisemin.'M'));
}
$sunrisemod = $dt->format('H:i');
$dt = DateTime::createFromFormat('H:i', $sunset);
if ($sunsetmin > 0) {
$dt->add(new DateInterval('PT'.$sunsetmin.'M'));
} else {
$sunsetmin = str_replace('-','',$sunsetmin);
$dt->sub(new DateInterval('PT'.$sunsetmin.'M'));
}
$sunsetmod = $dt->format('H:i');
$output['sunrise'] = $sunrisemod;
$output['sunset'] = $sunsetmod;
return $output;
}
?>
preferences:
34.12 ms | 402 KiB | 5 Q