Получить локальное время
- Войдите на сайт для отправки комментариев
Добрый день. Подскажите вступающему в мир Ардуино. Пожалуста.
Как правильно получить местное время. Ситуация у меня такая:
Время я получаю через WIFI функцией : configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); И в сериал оно выводится засечательно вот такой строкой: Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S"); В нужном часовом поясе, который я задал в первой функции. Проблемма в том, что я не могу понять что это за конструкция "&timeinfo, "%A, %B %d %Y %H:%M:%S" . Не могу найти ее описание, и как ею пользоваться. Мне время нужно получить целыми числами часов, минут, секунд. Я чтобы получить эти целые числа попытался использовать конструкцию time_t nowtime = time(nullptr); но тогда функция hour(nowtime) Возвращает время по гринвичу, а не локальное. Варианты парсить строку , или в "ручную" увеличивать количество часов я пока не ытался реализовать. Мне кажется должен быть способ изящней. Кинте хотя бы ссылкой, кто знает.
ЗЫ. контроллер на ESP32
https://linux.die.net/man/1/date
Здесь есть почти полная time.h со всеми её прибабахами, почти как в юниксе - http://arduino.ru/forum/programmirovanie/nedokumentirovannaya-i-nestandartnaya-sluzhba-vremeni-avr-libc
to sadman41
Спасибо на добром слове. Ссылка развеяла туман над структурой Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S"); Но не прояснила для меня как из нее вытащить значение часов и минут в целочисленные переменные.
Здесь есть почти полная time.h со всеми её прибабахами, почти как в юниксе - http://arduino.ru/forum/programmirovanie/nedokumentirovannaya-i-nestandartnaya-sluzhba-vremeni-avr-libc
Спасибо. Покурил пост по ссылке, попил чаю, еще раз почитал пост и догнал, что:
Во всяком случае в сериал мониторе сейчас любуюсь на правильное локальное время.