Remarque sur les calculatrices TI : comme précisé dans la vidéo, la fonction dbd des TI-82/83/84 permet de trouver le nombre de jours entre 2 dates entre 1950 et 2049. Cependant, sur les TI-84 Plus CE cette plage a été décalée à l’intervalle 1980 – 2079.
Temps unix
import datetime
from datetime import timezone
dt = datetime.datetime(2024,8,5,14,33,17, tzinfo=timezone.utc)
>>> dt.timestamp()
1722868397.0
import time
>>> time.gmtime(1722868397.0)
time.struct_time(tm_year=2024, tm_mon=8, tm_mday=5, tm_hour=14, tm_min=33, tm_sec=17, tm_wday=0, tm_yday=218, tm_isdst=0)
>>> time.gmtime(0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
>>> time.gmtime(-2000 * 365 * 86400)
time.struct_time(tm_year=-29, tm_mon=5, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=121, tm_isdst=0)
>>> time.time()
1722867076.132498
>>> datetime.datetime.now(timezone.utc).timestamp()
Date de pâques (Formule approximative !)
def paques(annee):
cycle_lune = 29.53058853
j_sem = 6 # Samedi 5/1/1901
delta = nb_jours(5, 1, 1901, 21, 3, annee)
nb_cycles = 1 + int(delta / cycle_lune)
ajout = int(nb_cycles * cycle_lune)
while (j_sem + ajout) % 7 != 0: ajout +=1
nb = ajout - delta
if nb <= 10: j, m = 21 + nb, 3
else: j, m = nb - 10, 4
return (m, j)
def formule(j,m,a):
if m < 3:
a -= 1
m += 12
return int(365.25 * a) + int(30.6 * (m + 1)) + j - 3
def nb_jours(j1, m1, a1, j2, m2, a2):
return formule(j2, m2, a2) - formule(j1, m1, a1)
def dow(j,m,a): return 1 + (formule(j,m,a) % 7)
Date de pâques (formule exacte)
def easter(annee):
a = annee % 19
b = annee // 100
c = annee % 100
d = b // 4
e = b % 4
f = (b + 8) // 25
g = (b - f + 1) // 3
h = (19 * a + b - d - g + 15) % 30
i = c // 4
k = c % 4
l = (32 + 2 * e + 2 * i - h - k) % 7
m = (a + 11 * h + 22 * l) // 451
mois = (h + l - 7 * m + 114) // 31
jour = ((h + l - 7 * m + 114) % 31) + 1
return (annee, mois, jour)