Un bref post très geek:
la fonction time() (i.e. heure courante) de PHP ou ses équivalents en Perl, Java, Javascript, etc... donneront le résultat 1234567890 le 14 février 2009 à 00:31:30. Fun, non ?
ce chiffre correspond aux nombres de secondes depuis "Unix Epoch" (i.e. le 1 janvier 1970 à 00:00:00), le début du monde sur Unix.
On risque de reparler de ceci pour le bug de l'an 2038: jour où les compteurs entiers sur 32 bits représentant ces dates boucleront pour revenir à 0. D'ici là, le mode 32 bit sera sûrement mort et on n'aura pas à refaire le b...del (inutile!) de l'an 2000.
[Via tomhtml]
Source: blog Media & Tech (par didier durand)
2 commentaires:
Bonjour,
Les timestamp sont généralement signés, donc en 2038 ça passera en négatif, et retour à 1901 (http://en.wikipedia.org/wiki/Year_2038_problem)
Ensuite "le mode 32bit" ça veut pas dire grand chose, rien à voir avec l'architecture des OS ou des processeurs. Ca fait des années qu'on sait stocker des données sur plus de 16 ou 32 bits (exemple les double/long double en C++ utilisent 64 et 80 bits). De même, c'est pas parce qu'on a un OS et un proc 64 bits qu'on ne stocke pas certains types de données en 8 ou 16 bits, pour occuper moins de place en mémoire. En 2038, il y a fort à parier qu'il y aura encore des données stockées sur 8,16,24,32 bits, et il restera peut etre encore des fameux timestamp 32 bits, il n'y à qu'a voir le flop qu'a fait l'ipv6 ;)
Bonjour Anonyme,
Pour être précis, j'aurais dû effectivement écrire "représentation des timestamps sur 32 bits" au lieu d'architecture 32 bits. C'est vrai!
cordialement
didier
Enregistrer un commentaire