Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Расчет времени помогите написать форму
 
 автор: dirol   (23.09.2010 в 22:17)   письмо автору
 
 

нужно составить расписание молит по гео позиции

по IP определяется пользователь и его гео позиция
к примеру по г.Москва
Moscow
55.7522
37.6156
из функции date_sun_info
получаем длительность дня

и есть формула

или если попроще надо получить время между В зените: и Заходом и разделить его на 2. но почемуто не делится время. выдает не правильные данные. разница должна быть 6 часов , пишет 9

$date=date("Y-m-d");
$sun_info = date_sun_info(strtotime($date), 55.7522, 37.6156);

foreach ($sun_info as $key => $val) {

    if ($key == 'sunrise') {
        $sunrise = $val;
        $echo1= 'Восход: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.date("H:i", $sunrise).'<br>';

    }

    if ($key == 'transit') {
        $transit = $val;
        $echo2= 'В зените:&nbsp;&nbsp;&nbsp;&nbsp;'.date("H:i", $transit).'<br>';
    }  
        
    if ($key == 'sunset') {
        $sunset = $val;
        $echo3= 'Заход: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.date("H:i", $sunset).'<br>';
    }
    
        if ($key == 'civil_twilight_end') {
        $civil_twilight_end = $val;
        $echo4= 'Вечерние сумерки:&nbsp;&nbsp;&nbsp;&nbsp;'.date("H:i", $civil_twilight_end).'<br>';
    } 
    
        if ($key == 'civil_twilight_begin') {
        $civil_twilight_begin = $val;
        $echo5= 'Начало утрених сумерек:&nbsp;&nbsp;&nbsp;&nbsp;'.date("H:i", $civil_twilight_begin).'<br>';
    }

}

echo "$echo1 $echo2 $echo3 $echo4 $echo5\n";


$rass = ($transit-$sunrise);
Помогите расчитать Аср

  Ответить  
 
 автор: sim5   (01.10.2010 в 10:46)   письмо автору
 
   для: dirol   (23.09.2010 в 22:17)
 

Все руки не доходили, а когда ознакомился, то так и не понял - в каких же там еденицах все считается, и что.... Расчет, надо понимать происходит по дате Юлианского календаря, значит:
<?
$jd 
GregorianToJD(9,24,2010);
//далее согласно писанному, хотя не ясны цыфры, толи это константы, толи....
$d $jd 2451545.0;
$g 357.529 0.98560028 $d;
$q 280.459 0.98564736 $d;
$L $q 1.915 sin($g) + 0.020 sin(2*$g);
$R 1.00014 0.01671 cos($g) - 0.00014 cos(2*$g);
$e 23.439 0.00000036 $d;
$PA atan2(cos($e)* sin($L), cos($L))/15;
$D asin(sin($e)* sin($L));
$EqT $q/15 $PA;
$Dhuhr 12 $L/15 $EqT;
Вот тут и непонятно. Если судить по статье, то L, это широта, но если ее посчитать и сравнить с уже известной (55.7522), то получается далеко не равно. В итоге $Dhuhr выдает что-то несуразное. Да если подставить и известное, все равно далеко не ожидаемое получается. В общем без мольбы на Бога точно не обойтись ;-)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования