Страница 2 из 2
Re: Помогите в расчетах времени
Добавлено: Вс июн 02, 2013 6:36 pm
anemcov
adzam писал(а):anemcov писал(а):LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?
В этом случае алгоритм такой:
1. Выделяем из строк часы и минуты в отдельные переменные.
2. Вычисляем разность часов
3. Вычисляем разность минут. Если разность минут меньше нуля - отнимаем единицу от разности часов, а к разности минут прибавляем 60.
А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.
Как-то так. Проверку кода не делал
Код: Выделить всё
$DayStart = explode(":",%Chisinau.SunRise%);
$DayEnd = explode(":",%Chisinau.SunSet%);
$h_start = (int)$DayStart[0];
$m_start = (int)$DayStart[1];
$h_end = (int)$DayEnd[0];
$m_end = (int)$DayEnd[1];
$dh = $h_end - $h_start;
$dm = $m_end - $m_start;
if ($dm<0){
$dh=$dh-11;
$dm=$dm+60;
}
echo('Длина дня '.$dh.' часов '.$dm.' минут');
Re: Помогите в расчетах времени
Добавлено: Вс июн 02, 2013 7:18 pm
anemcov
adzam писал(а):anemcov писал(а):LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?
В этом случае алгоритм такой:
1. Выделяем из строк часы и минуты в отдельные переменные.
2. Вычисляем разность часов
3. Вычисляем разность минут. Если разность минут меньше нуля - отнимаем единицу от разности часов, а к разности минут прибавляем 60.
А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.
Re: Помогите в расчетах времени
Добавлено: Вс июн 02, 2013 7:19 pm
anemcov
как-то так
$DayStart = explode(":",%Chisinau.SunRise%);
$DayEnd = explode(":",%Chisinau.SunSet%);
$h_start = (int)$DayStart[0];
$m_start = (int)$DayStart[1];
$h_end = (int)$DayEnd[0];
$m_end = (int)$DayEnd[1];
$dh = $h_end - $h_start;
$dm = $m_end - $m_start;
if ($dm<0){
$dh=$dh-11;
$dm=$dm+60;
}
echo('Длина дня '.$dh.' часов '.$dm.' минут');
Re: Помогите в расчетах времени
Добавлено: Вс июн 02, 2013 7:20 pm
anemcov
Код: Выделить всё
$DayStart = explode(":",%Chisinau.SunRise%);
$DayEnd = explode(":",%Chisinau.SunSet%);
$h_start = (int)$DayStart[0];
$m_start = (int)$DayStart[1];
$h_end = (int)$DayEnd[0];
$m_end = (int)$DayEnd[1];
$dh = $h_end - $h_start;
$dm = $m_end - $m_start;
if ($dm<0){
$dh=$dh-11;
$dm=$dm+60;
}
echo('Длина дня '.$dh.' часов '.$dm.' минут');
Re: Помогите в расчетах времени
Добавлено: Вс июн 02, 2013 7:21 pm
anemcov
$DayStart = explode(":",%Chisinau.SunRise%);
$DayEnd = explode(":",%Chisinau.SunSet%);
$h_start = (int)$DayStart[0];
$m_start = (int)$DayStart[1];
$h_end = (int)$DayEnd[0];
$m_end = (int)$DayEnd[1];
$dh = $h_end - $h_start;
$dm = $m_end - $m_start;
if ($dm<0){
$dh=$dh-11;
$dm=$dm+60;
}
echo('Длина дня '.$dh.' часов '.$dm.' минут');
Re: Помогите в расчетах времени
Добавлено: Вс июн 02, 2013 7:22 pm
anemcov
почему-то вывалилось 3 поста, хотя у меня так ни одна страница до конца и не загрузилась.
Надеюсь, администратор подчистит
Re: Помогите в расчетах времени
Добавлено: Вт июн 04, 2013 8:03 pm
adzam
anemcov писал(а):почему-то вывалилось 3 поста, хотя у меня так ни одна страница до конца и не загрузилась.
Надеюсь, администратор подчистит
привет, спасибо за ответ но попробовал, чето не работает прога, где-то ошибка
Re: Помогите в расчетах времени
Добавлено: Вт июн 04, 2013 8:21 pm
anemcov
adzam писал(а):anemcov писал(а):почему-то вывалилось 3 поста, хотя у меня так ни одна страница до конца и не загрузилась.
Надеюсь, администратор подчистит
привет, спасибо за ответ но попробовал, чето не работает прога, где-то ошибка
ок, попробуем так/ Подправил получение значений и была ошибочка при вычитании.
Код: Выделить всё
$DayStart = explode(":",gg("Chisinau.SunRise"));
$DayEnd = explode(":",gg("Chisinau.SunSet"));
$h_start = (int)$DayStart[0];
$m_start = (int)$DayStart[1];
$h_end = (int)$DayEnd[0];
$m_end = (int)$DayEnd[1];
$dh = $h_end - $h_start;
$dm = $m_end - $m_start;
if ($dm<0){
$dh=$dh-1;
$dm=$dm+60;
}
echo('Длина дня '.$dh.' часов '.$dm.' минут');