petite fonction

Eléphant du PHP | 259 Messages

30 avr. 2007, 12:10

bonjour

j'ai un petit problème avec une fonction que je suis en train de coder
c'est pour calculer une date sortie par un time()

si je fais comme ceci c'est que mon site a des besoins précis et qu'il me faut une fonction qui me sorte des entiers

Code : Tout sélectionner

<?php $time=time()+1970*31557600+2629800+86400; (+1970 année +1mois et 1jour ) $annee=floor($time/31557600); $mois=floor(($time-$annee*31557600)/2629800); $jour=floor(($time-$annee*31557600-$mois*2629800)/86400); $heure=floor(($time-$annee*31557600-$mois*2629800-$jour*86400)/3600); $minute=floor(($time-$annee*31557600-$mois*2629800-$jour*86400-$heure*3600)/60); $seconde=$time-$annee*31557600-$mois*2629800-$jour*86400-$heure*3600-$minute*60; echo"<br>années : $annee<br>mois : $mois<br>jours : $jour<br>heures : $heure<br>minutes : $minute<br>secondes : $seconde";
quand ma page me sort un time = à 63349115278
je me retrouve avec ceci :
années : 2007
mois : 4
jours : 28
heures : 20
minutes : 27
secondes : 58
alors qu'on est le 30 /04/2007 à 11h 27

aurriez vous une solution pour que celà marche svp ???

merci
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Invité
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 12:38

Pourquoi ne pas utiliser directement la fonction date(), intval() peut forccer le passage en int si c'est vraiment nécessaire non ?
Pourquoi to site a-t-il ce besoin spécifique d'entier ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 avr. 2007, 13:44

C'est sans doute à cause de tes arrondis... quand tu utilise $annee, c'est une valeur arrondie dont tu te sers et tu ignores le reste de la division, les calculs suivant sont dès lors je pense faussés :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

30 avr. 2007, 15:16

en effet

je vais essayer la méthode avec intval
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites