Arduino:
Twee data vergelijken

Hoe:

In Arduino kun je datums vergelijken met behulp van de TimeLib.h bibliotheek. Installeer deze eerst. Bekijk vervolgens deze code:

#include <TimeLib.h>

void setup() {
  Serial.begin(9600);
  // Stel twee verschillende tijden in (jaar, maand, dag, uur, minuut, seconde)
  // Hier stellen we in 3 maart 2023, 8:30:00 en 4 maart 2023, 16:45:00
  time_t eersteTijd = makeTime({0, 30, 8, 3, 3, 2023});
  time_t tweedeTijd = makeTime({0, 45, 16, 4, 3, 2023});
  
  // Vergelijk de twee tijden
  if (eersteTijd < tweedeTijd) {
    Serial.print("Eerste tijd is eerder.");
  } else if (eersteTijd > tweedeTijd) {
    Serial.print("Tweede tijd is eerder.");
  } else {
    Serial.print("Beide tijden zijn hetzelfde.");
  }
}

void loop() {
  // Niets hier
}

Voorbeelduitvoer:

Eerste tijd is eerder.

Diepere Duik

Arduino heeft geen ingebouwde ondersteuning voor datum en tijd, dus we gebruiken bibliotheken zoals TimeLib.h. Voordat er bibliotheken waren, moesten mensen handmatig datums berekenen en vergelijken - lastig vanwege schrikkeljaren, verschillende maandlengten, en dergelijke.

Andere manieren om met datums om te gaan zijn RTC (Real Time Clock) modules, zoals de DS3231, die de tijd bijhouden zelfs wanneer de Arduino uit staat. Voor het vergelijken zou je nog steeds de datums in je programma halen en ze vergelijken zoals we hierboven deden.

Neem bij de implementatie rekening met tijdzones en zomertijd indien nodig. TimeLib kan omgaan met UTC-tijd, wat deze kwesties omzeilt, maar lokale tijden vereisen extra zorg.

Zie Ook