Моля за съдеиствие за код които по зададени кординати на даден град да показва в колко изгрява и залязва слънцето.
( Например: Слънцето изгрява в 06:32мин и залязва в 21:40мин )
Мисля да се ползва град в централна България за позиция за да е горе долу по средата на страната "Велико Търново" например....
Код:
( Това е кода с които пробвам. Дава грешка ,а и кординатите не съм задал правилно във Велико Търново да бъдат )
Код 2 - работещ:
( Има 2/3 мин разлика при справка с други сайтове )
Ако някои знае как да го оправя моля да помага
( Например: Слънцето изгрява в 06:32мин и залязва в 21:40мин )
Мисля да се ползва град в централна България за позиция за да е горе долу по средата на страната "Велико Търново" например....
Код:
PHP:
<?php
/* calculate the sunset time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/
echo date("D M d Y") ' - Слънцето изгрява в : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 2) ', и залязва в : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 2);
?>
( Това е кода с които пробвам. Дава грешка ,а и кординатите не съм задал правилно във Велико Търново да бъдат )
Код 2 - работещ:
PHP:
<?php
//$myTZ = 'America/Phoenix'; // Mountain Standard Time - Arizona
$myTZ = 'Europe/Sofia'; // Pacific Time
$time_format = 'H:i'; // 08:53 PM PDT
// Set the latitude and longitude for your location
$latitude = 43.09; //North
$longitude = 25.63; //West
// uncomment one zenith setting: http://en.wikipedia.org/wiki/Twilight
$zenith = 90+(50/60); // True sunrise/sunset
//$zenith = 96; // Civilian Twilight - Conventionally used to signify twilight
//$zenith = 102; // Nautical Twilight - the point at which the horizon stops being visible at sea.
//$zenith = 108; // Astronomical Twilight - the point when Sun stops being a source of any illumination.
$verbose = false; // print debugging info, settings and variables for testing
###############
# end settings
###############
// Set timezone in PHP5/PHP4 manner
if (!function_exists('date_default_timezone_set')) {
putenv("TZ=" . $myTZ);
} else {
date_default_timezone_set("$myTZ");
}
// find time offset in hours
$tzoffset = date("Z")/60 / 60;
// determine if it is 'night' or 'day'
$dayornight = day_or_night();
// determine sunrise time
$sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $tzoffset);
$sunrise_time = date($time_format, strtotime(date("Y-m-d") . ' '. $sunrise));
// determine sunset time
$sunset = date_sunset(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $tzoffset);
$sunset_time = date($time_format, strtotime(date("Y-m-d") . ' '. $sunset));
// this prints the program output, you can modify to fit your needs
if($dayornight == 'night') {
// it is night
echo "Слънцето изгрява в: $sunrise_time ч. и ";
echo "залязва в: $sunset_time ч.<br />";
}else{
// it is day
echo "Слънцето изгрява в: $sunrise_time ч. и ";
echo "залязва в: $sunset_time ч.<br />";
}
// print debugging info, settings and variables for testing
if ($verbose) {
echo '<h3>Settings and Variables:</h3><pre>';
echo 'Current PHP version: ' . phpversion() . "\n";
echo date("M d Y h:i:s A T") . " (server time)\n";
echo gmdate("M d Y h:i:s A T") . " (GMT time)\n\n";
echo 'myTZ = ' . $myTZ . "\n";
echo 'tzoffset = ' . $tzoffset . "\n";
echo 'lat = ' . $latitude . "\n";
echo 'long = ' . $longitude . "\n";
echo 'Zenith = ' . $zenith . "\n\n";
echo 'Day or Night: '. $dayornight . "\n";
echo 'Sunrise will occur at '. $sunrise_time . "\n";
echo 'Sunset will occur at '. $sunset_time . "\n";
echo '</pre>';
}
function day_or_night() {
// determine if it is 'night' or 'day'
// returns string: 'night' or 'day'
global $latitude, $longitude, $tzoffset, $zenith;
$sunrise_epoch = date_sunrise(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $tzoffset);
$sunset_epoch = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $tzoffset);
$time_epoch = time(); // time now
if ($time_epoch >= $sunset_epoch or $time_epoch <= $sunrise_epoch) {
return 'night';
} else {
return 'day';
}
}
?>
( Има 2/3 мин разлика при справка с други сайтове )
Ако някои знае как да го оправя моля да помага