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

Langage PHP Discussion :

Différence entre un timestamp et aujourd'hui.


Sujet :

Langage PHP

  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut Différence entre un timestamp et aujourd'hui.
    Bonjour,

    J'ai ce timestamp en BDD MySQL que j'extraie en PHP dans programme annexe à Drupal : 1486311089

    Si j'utilise ceci, j'obtiens une date correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dateCreationCompte = date('d/m/Y H:i', $user->created)
    echo sdateCreationCompte;
    Si par contre j'utilise ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dateCreationCompte = new DateTime(intval($user->created));
    echo '<br /> Date création compte : '.$dateCreationCompte->format('d/m/Y');
    Alors j'obtiens cette erreur bizarre :
    Exception : DateTime::__construct(): Failed to parse time string (1486311089) at position 7 (0): Unexpected character dans DateTime->__construct()
    Le problème, c'est que j'ai besoin ensuite de calculer la différence en années, mois, jours entre cette date et aujourd'hui et je peux utiliser $aujourd'hui->diff($dateCreationCompte) avec la première solution puisque $dateCreationCompte n'est pas un objet date.

    Comment me sortir de ce mauvais pas ?

    Je me remets à PHP après pas mal de temps et il me semblait que les anciennes fonction non objet étaient pourtant simples à utiliser mais je ne retrouve pas la bonne méthode.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    - Datetime prend un string en premier paramètre, pas un int
    - Il faut ajouter @ devant le timestamp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dateCreationCompte = new DateTime('@1426311089');
    - Si tu ne peux pas le faire (parce que tu as une variable), utilise la méthode setTimestamp

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Merci pour le @ !
    Le petit test a semblé fonctionner.

    EDIT : Ça fonctionne effectivement ; j'ai l'affichage souhaité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dateCreationCompte = new DateTime('@'.$user->created);
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/03/2012, 20h01
  2. Réponses: 3
    Dernier message: 21/07/2010, 10h53
  3. différence entre deux timestamp
    Par donnadieujulien dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 05/09/2008, 15h01
  4. [Dates] repérer les timestamp d'aujourd'hui
    Par peppena dans le forum Langage
    Réponses: 2
    Dernier message: 05/07/2006, 12h12
  5. Réponses: 5
    Dernier message: 12/04/2006, 10h56

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