Heure.c 1022 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Heure.c
  3. *
  4. * Created on: 14 mai 2019
  5. * Author: e_rcluze
  6. */
  7. #include "RTC.h"
  8. int8_t CompareHeure(Heure h1,Heure h2){
  9. if( h1.heure==h2.heure){
  10. if (h1.minute==h2.minute)
  11. return 0;
  12. else if (h1.minute<h2.minute)
  13. return -1;
  14. else
  15. return 1;
  16. }
  17. else if (h1.heure<h2.heure)
  18. return -1;
  19. else
  20. return 1;
  21. }
  22. void HeureAjout(Heure res,Heure h1,uint8_t Pente){
  23. uint8_t minute=h1.minute+Pente;
  24. res.heure=h1.heure+minute/60;
  25. res.minute=minute%60;
  26. }
  27. void HeureSuppr(Heure res,Heure h1,uint8_t Pente){
  28. int8_t minute=h1.minute-Pente;
  29. if (minute<0) {
  30. res.heure=h1.heure-1;
  31. res.minute=minute+60;
  32. }
  33. else {
  34. res.heure=h1.heure;
  35. res.minute=minute;
  36. }
  37. }
  38. int16_t DiffHeure(Heure h1, Heure h2){
  39. return ((h1.heure-h2.heure)*60)+(h1.minute-h2.minute);
  40. }
  41. int32_t DiffDate(Date h1, Date h2){
  42. int32_t min = h1.minute - h2.minute;
  43. int32_t heure = (h1.heure - h2.heure)*60;
  44. int32_t jour = (h1.jour - h2.jour)*24*60;
  45. int32_t annee = (h1.annee - h2.annee)*24*60*365;
  46. return min+heure+jour+annee;
  47. }