Page 1 sur 1

petite fonction

Posté : 30 avr. 2007, 12:10
par yuuzhantar
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

Posté : 30 avr. 2007, 12:38
par Invité
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 ?

Posté : 30 avr. 2007, 13:44
par Ryle
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 :)

Posté : 30 avr. 2007, 15:16
par yuuzhantar
en effet

je vais essayer la méthode avec intval