Получить локальное время

Proshka
Offline
Зарегистрирован: 02.03.2018

Добрый день. Подскажите вступающему в мир Ардуино. Пожалуста. 

Как правильно получить местное время. Ситуация у меня такая:

Время я получаю через 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

sadman41
Offline
Зарегистрирован: 19.10.2016
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Здесь есть почти полная time.h со всеми её прибабахами, почти как в юниксе - http://arduino.ru/forum/programmirovanie/nedokumentirovannaya-i-nestandartnaya-sluzhba-vremeni-avr-libc

Proshka
Offline
Зарегистрирован: 02.03.2018

to sadman41

Спасибо на добром слове. Ссылка развеяла туман над структурой Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S"); Но не прояснила для меня как из нее вытащить значение часов  и минут в целочисленные переменные.

Proshka
Offline
Зарегистрирован: 02.03.2018

ЕвгенийП пишет:

Здесь есть почти полная time.h со всеми её прибабахами, почти как в юниксе - http://arduino.ru/forum/programmirovanie/nedokumentirovannaya-i-nestandartnaya-sluzhba-vremeni-avr-libc

Спасибо. Покурил пост по ссылке, попил чаю, еще раз почитал пост и догнал, что:

struct tm timeinfo;
int HourIsNow;

HourIsNow = timeinfo.tm_hour;

Во всяком случае в сериал мониторе сейчас любуюсь на правильное локальное время.