Page 1 sur 1

mystère sur mktime

Posté : 08 mai 2006, 16:01
par newsralf
Bonjour,

J'adore programmer car pire qu'aux échecs, on trouve des situations incroyabes !

Voici un petit bout de code :
$ladatefin = mktime(0, 0, 0, 06, 17, 2038) ;
echo strftime("%A %d %B %Y",$ladatefin);

L'affage de la date est correcte tant que je ne dépasse pas 2037 !! Ensuite, le echo affiche une date en 1969.
Quelqu'un a une explication ?

Merci à vous :shock:

Posté : 08 mai 2006, 16:08
par Truc
Salut,

Ne cherche pas midi à 14h :wink:
L'intervalle de validité d'un timestamp va généralement du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. (Ces dates correspondent aux valeurs minimales et maximales des entiers 32 bits non-signés). Sur les systèmes Windows, cette intervalle va du 01-01-1970 au 19-01-2038.

merci mais alors on fait comment ?

Posté : 08 mai 2006, 16:11
par newsralf
Salut,
Merci, puissant le truc.
Le coup du 1970 je connaissais mais pas la fin.
Ca veut dire qu'on ne peut rien développer pour après 2038 ?
Comment contourner ? Pour des agendas par ex ?

Merci :D

Posté : 08 mai 2006, 16:18
par Truc
Je pense pas que tu prévois un rendez vous pour le 14 avril 2045 ! :lol:

Tu peux développer avec le timestamp, en 2035 ton script sera de tout façon plus qu'obsolète.

Il s'agit plus d'une limitation matérielle donc rien à faire pour l'instant

Re: merci mais alors on fait comment ?

Posté : 08 mai 2006, 17:33
par Cyrano
Ca veut dire qu'on ne peut rien développer pour après 2038 ?
Pas tout à fait: d'ici là, les machines en 32 bits auront quasiment disparu sauf peut-être dans les musées de l'informatique : les machines en 64 bits commencent à appraître un peu partout et vont permettre le traitement sur des nombres infiniment plus importants : la limite de 2038 sera repoussée à une période où aucun d'entre nous n'aura plus à coder quoique ce soit tellement on sera morts :langue:

limitation ok

Posté : 08 mai 2006, 19:06
par newsralf
Merci, c'est ce que je pensais aussi.