comment compter les jours avec DS1302 ?

Bonsoir,

J'ai besoin pour mon projet de compter les jours a partir d'une date. Pour ce faire je crois que le mieux est de convertir la date de début de comptage et la date du jour en unix, ensuite faire la différence entre les 2 et diviser le résultat par le nombre de seconde dans une journée.

la librairie que j'utilise est virtuabotixRTC.h

mais je ne trouve pas la commande virtuabotixRTC.h pour afficher la date unix.

Merci pour votre aide

êtes vous obligé d’utiliser virtuabotixRTC.h?

sinon #include "RTClib.h" (cf [// GitHub - adafruit/RTClib: A fork of Jeelab's fantastic RTC library](http://forum.arduino.cc// GitHub - adafruit/RTClib: A fork of Jeelab's fantastic RTC library))

instanciez un objet RTC_DS1307

et vous avez des objets pour gérer le temps:

DateTime = une date que vous créez ou lue depuis la RTC
TimeSpan = une différence entre 2 dates, obtenue par soustraction entre 2 DateTime par exemple

Merci pour votre aide. J’ai trouvé une solution avec la librairie time.h

Voici le code si ça peut servir :wink:

#include <Time.h>




void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
struct tm start_date;
  struct tm end_date;
  time_t start_time, end_time;
  double seconds;

  start_date.tm_hour = 0;  start_date.tm_min = 0;  start_date.tm_sec = 0;
  start_date.tm_mon = 01; start_date.tm_mday = 01; start_date.tm_year = 2017;

  end_date.tm_hour = 0;  end_date.tm_min = 0;  end_date.tm_sec = 0;
  end_date.tm_mon = 01; end_date.tm_mday = 11; end_date.tm_year = 2017;

  start_time = mktime(&start_date);
  end_time = mktime(&end_date);

  seconds = difftime(end_time, start_time);

  printf ("%.f seconds difference\n", seconds);
 // Serial.print("%.f seconds difference\n", seconds);
    Serial.println(seconds);

}

[code]