IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Timestamp, oui et après ?


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut Timestamp, oui et après ?
    Bonjour à tous,

    J'ai juste une petite question que je me pause:

    Je viens de faire un petit script php, qui récupère une date d'une base de donnée au format date sql, que je passe dans un strtotime pour le transformer en timestamp pour ainsi faire des opérations dessus.

    Le truc, c'est que dans mon test, j'avais une date bidon (1/1/9999), et je me suis aperçu que strtotime ne renvoyais rien. Après quelques recherche j'ai vu que le timestamp étant codé sur 32bits, la date maximum qui pouvait ètre défini avec celui ci est dépassé a partir de 2038.

    Bon, c'est claire, on à le temps avant que ça ne pause vraiment problème... mais tant qu'a faire, maintenant que je sais ça j'aimerai bien prendre les devants et les bonne habitudes des maintenant, que je n'ai pas a changer brutalement mes habitudes/modifier mes appli d'ici quelques années.

    n'y aurait il pas une solution qui permet de faire quelque chose de similaire qui ne soit pas dépassé avant 150 ans ? ^^
    d'ici là je serrait sûrement mort, donc je m'en fou, mais en 2038 ce serra, normalement ^^, pas le cas, et j'ai pas envie de ma taper la retouche de tout mes prog/script/sites ...

    Donc, ne vous préssez pas, ça n'urge pas ^^
    Merci à tous

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    quelle genre d'operation tu veut effectuer

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut
    Comme je l'ai dis c'est juste un renseignement, histoire de savoir comme on va faire, comment on va devoir s'adapter; je ne suis pas du tout bloqué pour mon appli, pour le moment j'utilise le timestamp sans problèmes.

    On a le temps je sais, mais dans tout les cas il faudra y penser avant que ça ne fasse planter toute les applications.

    Le gros avantage du timestamp, en tout cas d'après mon experience, c'est de pouvoir faire des calcul sur des dates, sans s'emmerder avec les différentes bases (365, 12, 24, 60...) utilisé dans les dates, puisque tout est en seconde.

    disons que je me demande si ça vaudrai pas la peine que faire une librairie genre "timestamp2" qui calculerai le nombre de seconde depuis le 0/0/0 et qui permetrai d'allé plus loins que 2038.


    2147483648 = 2^31 : le nombre maximum du timestamp (32 bits - 1 bits réservé)
    -> marge de maneouvre d'environ 68 ans (d'ou le 1970 -> 2038)

    9223372036854775808 = 2^63 (64 bits - 1bit réservé)
    -> marge de maneouvre d'environ 292471208677 ans ^^

    Comme je l'ai déjà vu, passer à un timestamp codé sur 64 bits ne ferrait que repousser le problème... mais bon, le repousser de 292 471 208 600 années... sachant qu'on estime au maximum la vie du soleil à encore 6 000 000 000 d'année ... je pense que ça devrai suffire à réglé ce problème de façon... humainement définitive ^^

    Une tel librairie serrait elle déjà en développement, est-ce un projet a mettre en place ...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 388
    Par défaut
    Acheter une machine 64 bits?
    D'après le manuel:
    Note: The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 UTC to Tue, 19 Jan 2038 03:14:07 UTC. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.) Additionally, not all platforms support negative timestamps, therefore your date range may be limited to no earlier than the Unix epoch. This means that e.g. dates prior to Jan 1, 1970 will not work on Windows, some Linux distributions, and a few other operating systems. PHP 5.1.0 and newer versions overcome this limitation though.
    Donc si tu as une machine qui code les entiers sur 64 bits et tu utilises au moins PHP 5.1 tu ne devrais pas avoir de problèmes.

Discussions similaires

  1. [MySQL] Formulaire qui ne se réaffiche pas après submit - une fois en ligne, mais en local oui
    Par SunSeeker dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/01/2015, 14h29
  2. [XL-2003] Oui ou Non aprés comparaison de valeurs
    Par skyzix dans le forum Excel
    Réponses: 4
    Dernier message: 02/10/2012, 11h54
  3. [MySQL] Requête après réponse oui/non de l'utilisateur
    Par feldi dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 14/01/2011, 15h06
  4. dpkg--config -a ? oui mais apres ? et pourquoi ?
    Par sp2308 dans le forum Ubuntu
    Réponses: 2
    Dernier message: 12/09/2008, 22h12
  5. Timestamp, oui mais.
    Par godjojo dans le forum Langage
    Réponses: 2
    Dernier message: 14/05/2008, 07h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo