Compter un nombre de jours en timestamp - PHP - Programmation
Marsh Posté le 26-01-2006 à 17:12:22
Est ce que t'as consulté la partie de la documentation sur les dates et heures? Il y a tout ce qu'il faut pour faire des comparaisons de dates et autres manipulations du genre.
Marsh Posté le 26-01-2006 à 17:17:02
Tu parles d'une doc' dans le forum HFR ou sur php.net ?
parce que sur php, oui, je peux obtenir les jours via date()
par exemple :
Code :
|
Ok, ca va me retourner les différents jours.. Mais si par exemple la derniere connexion date du 31 janvier, et que il se reconnecte le 1er févrire, ca fera 31-1 = 30 jours de connexion !
c'est ça que je pige pas trop
Marsh Posté le 26-01-2006 à 17:34:23
là, tu as pris le jour sans tenir compte du mois ni de l'année.
C'est marrant, j'étais sur qu'il y avait des fonctions faites pour ça.
Bon, une solution en utilisant les fonctions de dates :
Marsh Posté le 26-01-2006 à 17:45:19
$derniereconnex=strtotime(date(DATE_RFC822))
quelque temps plus tard ...
$jour=date('z', strtotime(date(DATE_RFC822), $derniereconnex));
Pas tester donc à vérifier
A+
Marsh Posté le 26-01-2006 à 17:53:02
J'ai pas vraiment compris tes fonctions, m3z ?
La $derniereconnex doit être récupérée dans la BDD, qu'est-ce dont que le "DATE_RFC822" ?
Ha ! Merci pour le z, j'avais pourtant épluché tout php.net/date..
Donc, pour les mois c'est réglé, mais pour les changements d'année ? :s
Marsh Posté le 26-01-2006 à 18:01:32
pouzy a écrit : J'ai pas vraiment compris tes fonctions, m3z ? |
Oui le $derniereconnex est récupérer de la BDD mais avant faut l'écrire avec strtotime(date(DATE_RFC822)).
Le DATE_RFC822 c'est pour avoir un format compatbile avec le strtotime.
Pour les annees tu veux vraiment ?
ben tu fait un test supplementaire mais avec 'y' =>
$annee=date('y', strtotime(date(DATE_RFC822), $derniereconnex));
A+
Marsh Posté le 22-02-2009 à 11:40:24
Citation : Mais le problème, avec ça, c'est que ça compte 24 heures, et pas le jour[...] |
Ca a l'air assez vieux mais si ça peut aider qq'un d'autre: voir peut-être du côté de la fonction ceil pour arrondir le résultat au nombre supérieur:
Code :
|
Cédric
Marsh Posté le 23-02-2009 à 14:09:58
Si tu n'as toujours pas résolu ton pb, tu peux récupérer dans l'application Astres (cf ma signature) le fichier DateTimeLibrary.php situé dans le répertoire /Astres/Common/. J'ai codé la fonction getNbDaysBetween2Dates() qui donne le nb de jours séparant 2 dates (timestamp) en jours ouvrés ou ouvrables
Marsh Posté le 26-01-2006 à 17:04:49
Bonjour à tous !
Voilà, j'enregistre la dernière connexion de mon visiteur en timestamp, en enregistrant time();
Donc, à sa connexion suivante, je veux calculer le nombre de jours où il a été absent !
Je sais que je peux faire :
Ou un truc dans le genre.
Mais le problème, avec ça, c'est que ça compte 24 heures, et pas le jour
Je m'explique : Je veux que si le visiteur se connecte le 1er janvier à 18h00, et qu'il revienne le lendemain a 07h00, il y a ait quand même un jour de compté ! ( La, comme on aura $jour < 1, ça ne fonctionnera pas.. )
J'espère avoir été clair, et merci d'avance de votre aide
---------------
Hello hello super jello