Arduino:
Porównywanie dwóch dat

How to: (Jak to zrobić:)

W Arduino używamy struktury tmElements_t z biblioteki TimeLib do przechowywania dat. Porównując dwa obiekty, sprawdzamy ich kolejność.

#include <TimeLib.h>

void setup() {
  Serial.begin(9600);

  tmElements_t date1;
  tmElements_t date2;

  // Ustawiamy daty
  date1.Year = 2023 - 1970;
  date1.Month = 3;
  date1.Day = 25;

  date2.Year = 2023 - 1970;
  date2.Month = 6;
  date2.Day = 15;

  // Porównujemy daty
  if (makeTime(date1) < makeTime(date2)) {
    Serial.println("Data1 jest wcześniejsza niż Data2.");
  } else if (makeTime(date1) > makeTime(date2)) {
    Serial.println("Data1 jest późniejsza niż Data2.");
  } else {
    Serial.println("Daty są identyczne.");
  }
}

void loop() {
  // Nie jest potrzebny w tym przykładzie
}

Sample output (Przykładowe wyjście):

Data1 jest wcześniejsza niż Data2.

Deep Dive (Dogłębna analiza)

Porównywanie dat w komputerach sięga początków programowania. W Arduino wykorzystuje się bibliotekę TimeLib, ale są inne, jak RTClib dla modułów czasu rzeczywistego. Szczegółowe porównanie wymaga uwzględnienia czasu letniego/zimowego oraz stref czasowych, co nie jest bezpośrednio obsługiwane przez TimeLib i wymaga dodatkowej logiki.

See Also (Zobacz także)