Помогите в расчетах времени
Модератор: immortal
- adzam
- Сообщения: 607
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Помогите в расчетах времени
Есть переменная-Восход солнца - %Chisinau.SunRise%
и Заход солнца - %Chisinau.SunSet%
Подскажите пож как высчитать и вывести Долготу дня
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Бьюсь два дня и пока не получается
и Заход солнца - %Chisinau.SunSet%
Подскажите пож как высчитать и вывести Долготу дня
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Бьюсь два дня и пока не получается
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Помогите в расчетах времени
Википедия(http://ru.wikipedia.org/wiki/%D0%94%D0% ... 0%BD%D1%8F) говорит, что
Долгота дня — промежуток времени между восходом Солнца и его заходом, в течение которого Солнце видно над горизонтом.
И еще, что в языке программирования PHP есть функции для определения времени восхода date_sunrise() и захода date_sunset() Солнца. Аргументами функций являются географические коорднаты и время эпохи UNIX.
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
Долгота дня — промежуток времени между восходом Солнца и его заходом, в течение которого Солнце видно над горизонтом.
И еще, что в языке программирования PHP есть функции для определения времени восхода date_sunrise() и захода date_sunset() Солнца. Аргументами функций являются географические коорднаты и время эпохи UNIX.
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 211
- Зарегистрирован: Вт янв 08, 2013 11:50 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Помогите в расчетах времени
Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
В этом случае алгоритм такой:
1. Выделяем из строк часы и минуты в отдельные переменные.
2. Вычисляем разность часов
3. Вычисляем разность минут. Если разность минут меньше нуля - отнимаем единицу от разности часов, а к разности минут прибавляем 60.
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Помогите в расчетах времени
да, пардон, не написал про это, думал что с timestamp очевидно, да и проще.
Тем более что date_sunrise() может возвращать timestamp
Тем более что date_sunrise() может возвращать timestamp
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
- adzam
- Сообщения: 607
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Помогите в расчетах времени
Спасибо что отозвались, я все это понимаю, рассвет и закат получаю с метеостанции в таком формате ( 17:24 )
у меня не получается написать правильный сценарий или html код, чтоб мажор это понял
у меня не получается написать правильный сценарий или html код, чтоб мажор это понял
- Вложения
-
- 009.JPG (214.4 КБ) 8113 просмотров
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- adzam
- Сообщения: 607
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Помогите в расчетах времени
А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.anemcov писал(а):Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
В этом случае алгоритм такой:
1. Выделяем из строк часы и минуты в отдельные переменные.
2. Вычисляем разность часов
3. Вычисляем разность минут. Если разность минут меньше нуля - отнимаем единицу от разности часов, а к разности минут прибавляем 60.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
-
- Сообщения: 211
- Зарегистрирован: Вт янв 08, 2013 11:50 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Помогите в расчетах времени
adzam писал(а):А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.anemcov писал(а):Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
В этом случае алгоритм такой:
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.' минут');
-
- Сообщения: 211
- Зарегистрирован: Вт янв 08, 2013 11:50 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Помогите в расчетах времени
adzam писал(а):А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.anemcov писал(а):Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
В этом случае алгоритм такой:
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.' минут');
-
- Сообщения: 211
- Зарегистрирован: Вт янв 08, 2013 11:50 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Помогите в расчетах времени
adzam писал(а):А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.anemcov писал(а):Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
В этом случае алгоритм такой:
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.' минут');
-
- Сообщения: 211
- Зарегистрирован: Вт янв 08, 2013 11:50 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Помогите в расчетах времени
adzam писал(а):А можно поконкретней по поводу моего примера с формулами, а то не получается выделить переменные и вычислить разницу, поэтому и прошу помощи,помогите пож.anemcov писал(а):Вот здесь согласиться можно только частично - формула верная, если в значениях хранятся TimeStamp. А если там строки хранятся, вытянутые через веб-переменные?LutsenkoDenis писал(а):
Формула верная.
Долгота дня = %Chisinau.SunSet% - %Chisinau.SunRise%
В этом случае алгоритм такой:
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.' минут');