Сдвиг календаря на определенное количество дней

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
SanSanICH
Рядовой
Сообщения: 16
Зарегистрирован: 26 ноя 2017, 18:49

Сдвиг календаря на определенное количество дней

Сообщение SanSanICH »

Приветствую автора FlProg и участников форума.

Вопрос, собственно, в названии темы.

Никто еще не задавался таким вопросом как можно сделать что-то вроде двух календарей, идущих параллельно, но со сдвигом на энное количество дней?
Теоретически, как один из вариантов, это мог бы быть какой-то блок, в котором сдвиг даты вперед или назад задавался переменной типа "Булен" (0- сдвиг назад, 1- вперед), а другой переменной задавалось бы количество дней сдвига, но уверен, что могут быть и другие какие-то решения.

Подумал сначала, что можно просто прибавлять к текущей дате нужное количество дней, но не придумал как быть с переходами по месяцам.
Поискал по форуму, но тщетно, ничего полезного не сыскал.

Для чего понадобилось:

Имеется простая метеостанция.
Для информативности добавил в нее блок расчета восхода и захода Солнца (блок авторства rw6cm), а потом захотелось, что бы такой расчет восхода и захода солнца был на день или на два вперед.
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

Сдвиг календаря на определенное количество дней

Сообщение eugeneb »

Как идея.
Переводите текущую дату в секунды, прибавляйте нужное количество секунд и переводите полученный результат обратно в дату.
Например, если надо сдвинуть на два дня, то прибавить 60с * 60мин * 24ч * 2сут = 172800с.

Подходящие блоки имеются: https://flprog.ru/downloads/usersblocks ... y-sekundy/
Возможно их надо будет расширить до месяцев и лет. Или пойти на какие-то ограничения в своей программе.
С уважением,
Евгений Бобков
Аватара пользователя
nikmotorin60
Рядовой
Сообщения: 36
Зарегистрирован: 29 апр 2016, 09:54

Сдвиг календаря на определенное количество дней

Сообщение nikmotorin60 »

Я бы использовал два физических RTC DS1302 Real Time Clock Module For Arduino купленных на eBey. А применив командоаппарат для установки времени эту проблему решил.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Сдвиг календаря на определенное количество дней

Сообщение rw6cm »

SanSanICH писал(а): 20 фев 2019, 20:59а потом захотелось, что бы такой расчет восхода и захода солнца был на день или на два вперед.
Тяжелы такие расчеты для ардуинки, можно и отдельно блок, но думаю она повесится :shok:
Расчет восхода заката солнца на сегодня, завтра, послезавтра.
Sunday+day.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
SanSanICH
Рядовой
Сообщения: 16
Зарегистрирован: 26 ноя 2017, 18:49

Сдвиг календаря на определенное количество дней

Сообщение SanSanICH »

Итак, начнем с того, что хочу поблагодарить всех откликнувшихся.

eugeneb, на счет перевода даты в секунды, добавления нужного количества секунд мысль была, но не осилил :smile453: Сложность была в том, как сделать правильные переходы по месяцам. Поэтому воспользовался Вашим вторым советом и ограничил функционал расчетом восхода и заката на текущие сутки :smile37:

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

И отдельные слова благодарности для rw6cm за готовый вариант: большое спасибо за помощь!!! :ohyes: :ohyes: :ohyes:
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Сдвиг календаря на определенное количество дней

Сообщение AlexCrane »

[ref]SanSanICH[/ref], Сделал блок для таких расчетов, чтобы можно было считать не только восходы и закаты :smile38:
Библиотеку взять здесь https://github.com/CircuitGrove/DateTime
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
SanSanICH
Рядовой
Сообщения: 16
Зарегистрирован: 26 ноя 2017, 18:49

Сдвиг календаря на определенное количество дней

Сообщение SanSanICH »

Итак, граждане- товарищи!

Во-первых, большое спасибо для AlexCrane за нужные блоки!
Во-вторых, уважаемый rw6cm был прав. Загузил свое творение в NodeMCU v3, и она ушла в постоянную перезагрузку. Убрал блоки расчета- все работает ка надо.

На данный момент результат такой: если не получится сделать расчет восхода на "сегодня" и "завтра" при помощи одного блока от rw6cm демультплексора и счетчика (то есть блок rw6cm сначала берет данные для расчета на "сегодня" и записывает в одну группу переменных, а потом счетчик переключает выход демультиплексора, берет другие данные для расчета и записывает в другую группу переменных).

По результатам постараюсь дать отчет!

Еще раз спасибо всем, кто не прошел мимо! С прошедшим праздником друзья!
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Сдвиг календаря на определенное количество дней

Сообщение rw6cm »

SanSanICH писал(а): 20 фев 2019, 20:59Имеется простая метеостанция.
На сколько простая, можно глянуть
Win10-64, FLProg (portable)
SanSanICH
Рядовой
Сообщения: 16
Зарегистрирован: 26 ноя 2017, 18:49

Сдвиг календаря на определенное количество дней

Сообщение SanSanICH »

"Давненько я у вас здесь не был..." сказал Володя Шарапов официантке ресторана "Астория" в одном известном произведении.

Вот и я давненько не появлялся тут. Сразу перейду к делу, опишу метеостанцию:

Конструкция состоит из LCD экрана 16*2, трех кнопок, часов реального времени, датчика давления и температуры, датчика температуры DS18b20

(измеряет температуру на улице), а управляет всем этим Nodemcu v3. Все собрано на макетной плате.
На экране отображается температура внутри комнаты и за окном, а также атмосферное давление.
Самое интересное находится в локальной сети. Там:
- простенький календарь;
- рассчет восхода, захода солнца, долготы дня на текущий день, три дня назад и три вперед;
- журнал температуры за окном атмосферного давления на семь дней с регистрацией данных в 00, 03, 06, 09, 12, 15, 18, 21 час.
- "прогноз погоды" на основании атмосферного давления (значения давления взяты из проекта другого автора. Точно не припомню, но , вроде, этот проект есть на форуме).

Мой проект не претендует на совершенство в части "железа" и в программной части. Создавался исходя из имеющихся знаний и материалов для того что бы был градусник, доступ к которому был из любого места квартиры для любого члена семьи.

Тут лежит проект
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя