Помогите в расчетах времени

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
adzam
Сообщения: 607
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Помогите в расчетах времени

Сообщение adzam » Сб май 25, 2013 10:26 pm

Есть переменная-Восход солнца - %Chisinau.SunRise%
и Заход солнца - %Chisinau.SunSet%
Подскажите пож как высчитать и вывести Долготу дня

Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Бьюсь два дня и пока не получается
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Помогите в расчетах времени

Сообщение LutsenkoDenis » Вс май 26, 2013 9:54 pm

Википедия(http://ru.wikipedia.org/wiki/%D0%94%D0% ... 0%BD%D1%8F) говорит, что
Долгота дня — промежуток времени между восходом Солнца и его заходом, в течение которого Солнце видно над горизонтом.
И еще, что в языке программирования PHP есть функции для определения времени восхода date_sunrise() и захода date_sunset() Солнца. Аргументами функций являются географические коорднаты и время эпохи UNIX.

Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Помогите в расчетах времени

Сообщение anemcov » Вс май 26, 2013 10:00 pm

LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?

В этом случае алгоритм такой:
1. Выделяем из строк часы и минуты в отдельные переменные.
2. Вычисляем разность часов
3. Вычисляем разность минут. Если разность минут меньше нуля - отнимаем единицу от разности часов, а к разности минут прибавляем 60.
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Помогите в расчетах времени

Сообщение LutsenkoDenis » Вс май 26, 2013 10:34 pm

да, пардон, не написал про это, думал что с timestamp очевидно, да и проще.
Тем более что date_sunrise() может возвращать timestamp
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Аватара пользователя
adzam
Сообщения: 607
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Помогите в расчетах времени

Сообщение adzam » Пн май 27, 2013 6:52 am

Спасибо что отозвались, я все это понимаю, рассвет и закат получаю с метеостанции в таком формате ( 17:24 )
у меня не получается написать правильный сценарий или html код, чтоб мажор это понял
Вложения
009.JPG
009.JPG (214.4 КБ) 8114 просмотров
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
adzam
Сообщения: 607
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Помогите в расчетах времени

Сообщение adzam » Сб июн 01, 2013 7:59 pm

anemcov писал(а):
LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?

В этом случае алгоритм такой:
1. Выделяем из строк часы и минуты в отдельные переменные.
2. Вычисляем разность часов
3. Вычисляем разность минут. Если разность минут меньше нуля - отнимаем единицу от разности часов, а к разности минут прибавляем 60.
А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Помогите в расчетах времени

Сообщение anemcov » Вс июн 02, 2013 4:48 pm

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.' минут');
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Помогите в расчетах времени

Сообщение anemcov » Вс июн 02, 2013 4:48 pm

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.' минут');
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Помогите в расчетах времени

Сообщение anemcov » Вс июн 02, 2013 4:49 pm

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.' минут');
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Помогите в расчетах времени

Сообщение anemcov » Вс июн 02, 2013 4:49 pm

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.' минут');
Ответить