Salut,
À ta place, j'utiliserai une lib spécifique pour gérer les dates, genre Carbon.
Salut à tous je cherche à obtenir un résultat tel que :
Membre inscrit depuis 32 semaines par exemple ;
La seule méthode trouvé c'est celle-ci :
<?php
$date_registred = "";
$date_registred = $user['confirmed_at'];
$date_registred - date('Y-m-d H:i:s');
$now = $date_registred;
?>
Dans ma base de données j'ai inséré le "confirmed_at" avec une fonction MySQL : "NOW()"
Salut,
À ta place, j'utiliserai une lib spécifique pour gérer les dates, genre Carbon.
Bonjour,
Le truc c'est que déjà tu nous présente un code sans (pour moi) pas plus d'explication que ça.. et qui n'est pas non plus bien présenté (utilise le bouton </> pour bien présenter ton code).
Et tu n'explique pas pourquoi tu nous montres ton code.
Tu as besoin d'un avis ? Ton code ne fonctionne pas ?
Déjà, un truc que je vois c'est que tu déclare une variable vide alors que tu n'as pas vraiment besoin de le faire.
Ensuite tu tente de faire une opération avec la fonction date.
Sauf erreur tu ne peux pas faire une opération en utilisant directement une fonction.
Donc selon moi tu devrais plutôt faire un truc comme ça :
Et pour finir, pourquoi faire ça ? :
Vu que par rapport au code que tu nous montres il n'y a pas de réel utilité.
Salut!
+1 Mika445
Je ne sais pas comment tu stoques tes dates.. ce sont des timestamps ?
Si ce ne sont pas des timestamps tu feras facilement la conversion avec les fonctions php qui vont bien.
Je trouverais lourd de telecharger une lib juste pour ce petit calcul. En revanche si tu penses rencontrer d'autre soucis de ce genre, une lib s'impose ;)
Pour ta solution :
.. ou un truc du genre quoi ^^
tkt j'ai trouvé ça comme fonction :
[]($dateFrom = new DateTime($user['confirmed_at']);
$dateNow = new DateTime(date('Y-m-d H:i:s'));
$interval = $dateNow->diff($dateFrom);
$dy = $interval->format('%a jours');)
Et tu fait une echo de $dy
Salut,
moi j'avais voulu faire la même chose pour les messages : "posté il y a ..."
Je m'étais fais une petite fonction pour ça :
$date correspond à ta "date d'inscription".
Il faut que $user['confirmed_at'] soit en DateTime
Je ne savais pas comment gérer les singulier/pluriel, alors j'ai fais comme ça, mais il y a probablement plus rapide.
Et si toi tu ne veux que le nombre de jours, tu peux adapter la fonction (du coup elle sera plus simple).
SLK, à partir de maintenant j'essayerais de faire comme toi pour l'écriture des if et else. Je trouve que les écrire comme ça c'est beaucoup mieux pour la lecture :D
Oh ça dépend hein.
Je les écris comme ça seulement quand on répète bêtement des trucs, et qui s'aligent verticalement...
Ça ne rend pas toujours bien.
Mais ici, je trouve que ça convient bien, ça aide à une lecture rapide.