Advertisement
reza0310

différence entre 2 dates (jours)

Dec 16th, 2019
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. def biss(a):
  2. if a % 1000 == 0:
  3. return True
  4. elif a % 100 == 0:
  5. return False
  6. elif a % 4 == 0:
  7. return True
  8. else:
  9. return False
  10.  
  11. def ndjdm(m, a):
  12. x = biss(a)
  13. m = str(m)
  14. if x == True:
  15. Fev = 29
  16. else:
  17. Fev = 28
  18. Dict = {
  19. "Janvier": 31, "1": 31,
  20. "Février": Fev, "2": Fev,
  21. "Mars": 31, "3": 31,
  22. "Avril": 30, "4": 30,
  23. "Mai": 31, "5": 31,
  24. "Juin": 30, "6": 30,
  25. "Juillet": 31, "7": 31,
  26. "Aout": 31, "8": 31,
  27. "Septembre": 30, "9": 30,
  28. "Octobre": 31, "10": 31,
  29. "Novembre": 30, "11": 30,
  30. "Décembre": 31, "12": 31
  31. }
  32. return Dict[m]
  33.  
  34. def temps_entre(a1, m1, j1, a2, m2, j2):
  35. nbre_j_1 = 0
  36. nbre_j_2 = 0
  37.  
  38. for i in range(0, a1+1):
  39. ## print("Ajout an",i,". Total:",nbre_j_1)
  40. bis = biss(i)
  41. if bis == True:
  42. nbre_j_1 += 366
  43. else:
  44. nbre_j_1 += 365
  45. for i in range (1, m1+1):
  46. ## print("Ajout mois",i,". Total:",nbre_j_1)
  47. nbre_j_1 += ndjdm(i, a1)
  48. nbre_j_1 += j1
  49. ## print("Ajout jours. Total:",nbre_j_1)
  50. ## print("Nombre de jours entre 00/01/0000 et",date1,":",nbre_j_1)
  51.  
  52. for i in range(0, a2+1):
  53. ## print("Ajout an",i,". Total:",nbre_j_2)
  54. bis = biss(i)
  55. if bis == True:
  56. nbre_j_2 += 366
  57. else:
  58. nbre_j_2 += 365
  59. for i in range (1, m2+1):
  60. ## print("Ajout mois",i,". Total:",nbre_j_2)
  61. nbre_j_2 += ndjdm(i, a2)
  62. nbre_j_2 += j2
  63. ## print("Ajout jours. Total:",nbre_j_2)
  64. ## print("Nombre de jours entre 00/01/0000 et",date1,":",nbre_j_2)
  65. if nbre_j_2 > nbre_j_1:
  66. return nbre_j_2 - nbre_j_1
  67. else:
  68. return nbre_j_1 - nbre_j_2
  69.  
  70. #-------------------------------------------------------------------------------
  71. date1 = "000000"
  72. date2 = "000000"
  73.  
  74. while len(date1) != 10 or date1[2] != "/" or date1[5] != "/":
  75. try:
  76. date1 = input("Entrez la première date sous la forme XX/XX/XXXX.")
  77. except:
  78. date1 = "000000"
  79. while len(date2) != 10 or date2[2] != "/" or date2[5] != "/":
  80. try:
  81. date2 = input("Entrez la seconde date sous la forme XX/XX/XXXX.")
  82. except:
  83. date2 = "000000"
  84.  
  85. a1 = int(date1[6] + date1[7] + date1[8] + date1[9])
  86. m1 = int(date1[3] + date1[4])
  87. j1 = int(date1[0] + date1[1])
  88. a2 = int(date2[6] + date2[7] + date2[8] + date2[9])
  89. m2 = int(date2[3] + date2[4])
  90. j2 = int(date2[0] + date2[1])
  91.  
  92. nbre_j_1 = 0
  93. nbre_j_2 = 0
  94.  
  95. temps = temps_entre(a1, m1, j1, a2, m2, j2)
  96. print("Il y a",temps,"jours entre le",date1,"et le",date2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement