Сдвиг календаря на определенное количество дней
Сдвиг календаря на определенное количество дней
Приветствую автора FlProg и участников форума.
Вопрос, собственно, в названии темы.
Никто еще не задавался таким вопросом как можно сделать что-то вроде двух календарей, идущих параллельно, но со сдвигом на энное количество дней?
Теоретически, как один из вариантов, это мог бы быть какой-то блок, в котором сдвиг даты вперед или назад задавался переменной типа "Булен" (0- сдвиг назад, 1- вперед), а другой переменной задавалось бы количество дней сдвига, но уверен, что могут быть и другие какие-то решения.
Подумал сначала, что можно просто прибавлять к текущей дате нужное количество дней, но не придумал как быть с переходами по месяцам.
Поискал по форуму, но тщетно, ничего полезного не сыскал.
Для чего понадобилось:
Имеется простая метеостанция.
Для информативности добавил в нее блок расчета восхода и захода Солнца (блок авторства rw6cm), а потом захотелось, что бы такой расчет восхода и захода солнца был на день или на два вперед.
Вопрос, собственно, в названии темы.
Никто еще не задавался таким вопросом как можно сделать что-то вроде двух календарей, идущих параллельно, но со сдвигом на энное количество дней?
Теоретически, как один из вариантов, это мог бы быть какой-то блок, в котором сдвиг даты вперед или назад задавался переменной типа "Булен" (0- сдвиг назад, 1- вперед), а другой переменной задавалось бы количество дней сдвига, но уверен, что могут быть и другие какие-то решения.
Подумал сначала, что можно просто прибавлять к текущей дате нужное количество дней, но не придумал как быть с переходами по месяцам.
Поискал по форуму, но тщетно, ничего полезного не сыскал.
Для чего понадобилось:
Имеется простая метеостанция.
Для информативности добавил в нее блок расчета восхода и захода Солнца (блок авторства rw6cm), а потом захотелось, что бы такой расчет восхода и захода солнца был на день или на два вперед.
- eugeneb
- Лейтенант
- Сообщения: 486
- Зарегистрирован: 15 авг 2016, 11:20
- Откуда: Нижний Новгород
- Имя: Евгений
- Благодарил (а): 1 раз
Сдвиг календаря на определенное количество дней
Как идея.
Переводите текущую дату в секунды, прибавляйте нужное количество секунд и переводите полученный результат обратно в дату.
Например, если надо сдвинуть на два дня, то прибавить 60с * 60мин * 24ч * 2сут = 172800с.
Подходящие блоки имеются: https://flprog.ru/downloads/usersblocks ... y-sekundy/
Возможно их надо будет расширить до месяцев и лет. Или пойти на какие-то ограничения в своей программе.
Переводите текущую дату в секунды, прибавляйте нужное количество секунд и переводите полученный результат обратно в дату.
Например, если надо сдвинуть на два дня, то прибавить 60с * 60мин * 24ч * 2сут = 172800с.
Подходящие блоки имеются: https://flprog.ru/downloads/usersblocks ... y-sekundy/
Возможно их надо будет расширить до месяцев и лет. Или пойти на какие-то ограничения в своей программе.
С уважением,
Евгений Бобков
Евгений Бобков
- nikmotorin60
- Рядовой
- Сообщения: 36
- Зарегистрирован: 29 апр 2016, 09:54
Сдвиг календаря на определенное количество дней
Я бы использовал два физических RTC DS1302 Real Time Clock Module For Arduino купленных на eBey. А применив командоаппарат для установки времени эту проблему решил.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Сдвиг календаря на определенное количество дней
Тяжелы такие расчеты для ардуинки, можно и отдельно блок, но думаю она повеситсяSanSanICH писал(а): 20 фев 2019, 20:59а потом захотелось, что бы такой расчет восхода и захода солнца был на день или на два вперед.

Расчет восхода заката солнца на сегодня, завтра, послезавтра.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Сдвиг календаря на определенное количество дней
Итак, начнем с того, что хочу поблагодарить всех откликнувшихся.
eugeneb, на счет перевода даты в секунды, добавления нужного количества секунд мысль была, но не осилил
Сложность была в том, как сделать правильные переходы по месяцам. Поэтому воспользовался Вашим вторым советом и ограничил функционал расчетом восхода и заката на текущие сутки
nikmotorin60, Ваш вариант был бы последним по списку, но не по значению, поскольку напрограммировать что-то, что могло бы мне помочь, я еще пытался, но не выходило
И отдельные слова благодарности для rw6cm за готовый вариант: большое спасибо за помощь!!!

eugeneb, на счет перевода даты в секунды, добавления нужного количества секунд мысль была, но не осилил


nikmotorin60, Ваш вариант был бы последним по списку, но не по значению, поскольку напрограммировать что-то, что могло бы мне помочь, я еще пытался, но не выходило

И отдельные слова благодарности для rw6cm за готовый вариант: большое спасибо за помощь!!!



- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Сдвиг календаря на определенное количество дней
[ref]SanSanICH[/ref], Сделал блок для таких расчетов, чтобы можно было считать не только восходы и закаты 
Библиотеку взять здесь https://github.com/CircuitGrove/DateTime

Библиотеку взять здесь https://github.com/CircuitGrove/DateTime
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Сдвиг календаря на определенное количество дней
Итак, граждане- товарищи!
Во-первых, большое спасибо для AlexCrane за нужные блоки!
Во-вторых, уважаемый rw6cm был прав. Загузил свое творение в NodeMCU v3, и она ушла в постоянную перезагрузку. Убрал блоки расчета- все работает ка надо.
На данный момент результат такой: если не получится сделать расчет восхода на "сегодня" и "завтра" при помощи одного блока от rw6cm демультплексора и счетчика (то есть блок rw6cm сначала берет данные для расчета на "сегодня" и записывает в одну группу переменных, а потом счетчик переключает выход демультиплексора, берет другие данные для расчета и записывает в другую группу переменных).
По результатам постараюсь дать отчет!
Еще раз спасибо всем, кто не прошел мимо! С прошедшим праздником друзья!
Во-первых, большое спасибо для AlexCrane за нужные блоки!
Во-вторых, уважаемый rw6cm был прав. Загузил свое творение в NodeMCU v3, и она ушла в постоянную перезагрузку. Убрал блоки расчета- все работает ка надо.
На данный момент результат такой: если не получится сделать расчет восхода на "сегодня" и "завтра" при помощи одного блока от rw6cm демультплексора и счетчика (то есть блок rw6cm сначала берет данные для расчета на "сегодня" и записывает в одну группу переменных, а потом счетчик переключает выход демультиплексора, берет другие данные для расчета и записывает в другую группу переменных).
По результатам постараюсь дать отчет!
Еще раз спасибо всем, кто не прошел мимо! С прошедшим праздником друзья!
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Сдвиг календаря на определенное количество дней
На сколько простая, можно глянуть
Win10-64, FLProg (portable)
Сдвиг календаря на определенное количество дней
"Давненько я у вас здесь не был..." сказал Володя Шарапов официантке ресторана "Астория" в одном известном произведении.
Вот и я давненько не появлялся тут. Сразу перейду к делу, опишу метеостанцию:
Конструкция состоит из LCD экрана 16*2, трех кнопок, часов реального времени, датчика давления и температуры, датчика температуры DS18b20
(измеряет температуру на улице), а управляет всем этим Nodemcu v3. Все собрано на макетной плате.
На экране отображается температура внутри комнаты и за окном, а также атмосферное давление.
Самое интересное находится в локальной сети. Там:
- простенький календарь;
- рассчет восхода, захода солнца, долготы дня на текущий день, три дня назад и три вперед;
- журнал температуры за окном атмосферного давления на семь дней с регистрацией данных в 00, 03, 06, 09, 12, 15, 18, 21 час.
- "прогноз погоды" на основании атмосферного давления (значения давления взяты из проекта другого автора. Точно не припомню, но , вроде, этот проект есть на форуме).
Мой проект не претендует на совершенство в части "железа" и в программной части. Создавался исходя из имеющихся знаний и материалов для того что бы был градусник, доступ к которому был из любого места квартиры для любого члена семьи.
Тут лежит проект
Вот и я давненько не появлялся тут. Сразу перейду к делу, опишу метеостанцию:
Конструкция состоит из LCD экрана 16*2, трех кнопок, часов реального времени, датчика давления и температуры, датчика температуры DS18b20
(измеряет температуру на улице), а управляет всем этим Nodemcu v3. Все собрано на макетной плате.
На экране отображается температура внутри комнаты и за окном, а также атмосферное давление.
Самое интересное находится в локальной сети. Там:
- простенький календарь;
- рассчет восхода, захода солнца, долготы дня на текущий день, три дня назад и три вперед;
- журнал температуры за окном атмосферного давления на семь дней с регистрацией данных в 00, 03, 06, 09, 12, 15, 18, 21 час.
- "прогноз погоды" на основании атмосферного давления (значения давления взяты из проекта другого автора. Точно не припомню, но , вроде, этот проект есть на форуме).
Мой проект не претендует на совершенство в части "железа" и в программной части. Создавался исходя из имеющихся знаний и материалов для того что бы был градусник, доступ к которому был из любого места квартиры для любого члена семьи.
Тут лежит проект
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя