Condition date création

Par Yubo, il y a 10 ans


Bonsoir,
J'aimerais faire une condition avec la date d'inscription de mes utilisateurs.

Si mon utilisateurs a seulement 2 jours d'ancienté alors on affiche pas le texte
Sinon si mon utilisateur a plus ou égal a 3 jours d'ancienté alors tu affiches mon texte

<span class="label label-info">Merci</span>

6 réponses

Camille Abdallah, il y a 10 ans

Hello !
Tu peux utiliser diff de DateTime

$now = new DateTime(); $dateUser = new DateTime('2015-06-05'); if( $dateUser->diff($now)->days >=3 ){ echo "Afficher un texte"; } else if( $dateUser->diff($now)->days < 2 ){ echo "Afficher un autre texte"; }
Yubo, il y a 10 ans

Merci je vais tester, je te redis en cas ou :)

Yubo, il y a 10 ans

J'ai une erreur:

A PHP Error was encountered Severity: Error Message: Call to a member function diff() on a non-object Filename: user/home.php Line Number: 13 Backtrace:

Voiçi mon code

<?php $now = new DateTime(); $dateUser = $USER->registration_date; if( $dateUser->diff($now)->days >=3 ){ echo "Afficher un texte"; } else if( $dateUser->diff($now)->days < 2 ){ echo "Afficher un autre texte"; } ?>

Par contre, les dates dans ma base de donnée sont sous forme comme ça 1433532983

Merci

Lartak, il y a 10 ans

Bonsoir.
@Yubo : Si tu n'as pas la version 5.5 de PHP, c'est normal, regardes.

Par contre, les dates dans ma base de donnée sont sous forme comme ça 1433532983

Car tu dois utiliser le format TIMESTAMP, utilises plutôt le format DATETIME ou DATE.
Car avec la plus grande majorité des classes PHP, notamment celles des dates, il est plus simple de travailler avec le format DATETIME.
Après, à toi de voir.

ÉDIT : Si tu as l'erreur, c'est probablement parce que la classe attend une valeur sous le format DATETIME, d'où le nom de la classe d'ailleurs.

Yubo, il y a 10 ans

Bonsoir
@Lartak j'utilise PHP 5.5.12 exactement, oui je pense que je vais basculer sur datetime

Yubo, il y a 10 ans

J'ai réussis avec data();

<?php $now = new DateTime(); $dateUser = new DateTime(date('d/m/Y', $USER->registration_date)); if( $dateUser->diff($now)->days >=3 ){ echo "Afficher un texte"; }else{ echo "Afficher un autre texte"; } ?>