DateTime, Сравнение строк

Мне нужно сравнить поступающие строки с датой и временем из модуля RTC DS1307. Я собираюсь вызвать событие, если определенное время из строк достигнуто.

Я пытался использовать конвертировать в целое число, но это не работает.

String now_int = rtc.now();

Ошибка говорит conversion from DateTime to non-scalar type String is requested

Как я могу сравнить дату и время со строкой?

0

Решение

Вы можете использовать комбинацию Sprintf а также зЬгстр для достижения вашего описанного поведения, например похожий на этот

// date and time from RTC
DateTime now = rtc.now();

// date and time to compare with - this is provided by you
String datetimeCompare = "1970/01/01 00:00:00";

// this buffer must be big enough for your complete datetime (depending on the format)
char datetimeBuffer[20] = "";

// convert current date and time to your specific format
sprintf(datetimeBuffer, "%04d/%02d/%02d %02d:%02d:%02d", now.year(), now.month(), now.day(), now.hour(), now.minute(), now.second());

// perform the comparison
if(strcmp(datetimeBuffer, datetimeCompare.c_str()) == 0)
{
// datetime strings are the same
}

Или вы конвертируете свой rtc.now () DateTime в соответствии с вашим форматом, как описано на arduino stackexchange.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]