Conversion en date (php/mysql)

Fermé
Nebul - 13 avril 2004 à 21:21
bobmcneal01 Messages postés 2 Date d'inscription samedi 11 avril 2009 Statut Membre Dernière intervention 11 avril 2009 - 11 avril 2009 à 15:36
Bjour tous,

j'ai une valeur sous forme de chaine qui a été calculé avec time( ).
Je veux convertir cette chaine sous la forme jj/mm/aaaa. je suis obligé d'utiliser time( ) je n'ai pas le choix.
Comment faire cette conversion sans rentrer dans des calculs interminables?

Merci pour l'intêret que vous porterez à cette requête !!!
A voir également:

8 réponses

Utilisateur anonyme
14 avril 2004 à 11:19
Ben tous ces calculs c'est interminable et inutile...
avec la fonction date couplée à time ou mktime, on peut combiner le tout et formater comme on veut!
http://fr2.php.net/manual/fr/function.time.php
http://fr2.php.net/manual/fr/function.date.php
Ca ira plus vite...

Fat_Cartman,
Parce que je le vaux bien... 
4
Nebul Messages postés 22 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 2 juillet 2004 3
14 avril 2004 à 11:09
jte remercie pour le temps que tu as passé dessus lol c'est sympa !!!
En effet , j'avais trouvé cette solution mais j'espérais quil existe une fonction php ou autre qui me permette de faire la conversion...

encore merci et désolé pour le dérangement ;)
1
lagassat Messages postés 527 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2004 80
14 avril 2004 à 11:36
Bah une fois que t'as ca, c'est vraiment tout bete, il te suffit de jouer sur quelques variables, pour sortir ton resultat...

"2 choses sont infinies : l'univers et la betise humaine
bien que en ce qui concerne la 1ere je n'ai pas encore de certitude absolue"
0
lagassat Messages postés 527 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2004 80
14 avril 2004 à 00:36
Un algorithme tout bete....

Je te donne un exemple avec un chiffre que j'ai obtenu a l'instant, en secondes, avec time()... Le chiffre obtenu est 1081889982

tu fais
1081889982/ (365*24*60*60) = 34,306506278538812785388127853881

toi tu ne gardes que la partie entiere (a toi de trouver comment ms c tout bete, just ela felmme de chercher). Tu as donc un nombre d'annee egal a 34...

34* (365*24*60*60)=1072224000

tu fais la difference:
1081889982-1072224000=9665982


Tu divises le resultat comme tu viens de le faire pour obtenir le nombre de jour (eh oui trop la flemme de chercher la solution pour integrer les mois)
9665982 / (24*60*60)=111,87479166666666666666666666667

tu gardes le 111, c le nombre de jour...
et on continues comme pour les annees.
111*(24*60*60)=9590400
9665982 - 9590400 = 75582

75582 / (60*60) = 20,995
tu gardes 20, c le nombre d'heures...

20 * (60*60) = 72000
75582 - 72000 = 3582
3582 / 60 = 59,7
tu gardes 59, c le nombre de minutes

59*60 =  3540
3600 - 3540 = 60,00000
tu gardes encore la partie entiere du resultat, 60 c ton nombre de secondes....

Avec le chiffre que j'ai obtenu en faisant time() a l'instant, j'obtiens avec ce "petit" calcul, 34ans 111jours 20h 59min 60s., ce qui correspond bien sachant que le timer a debut le 01/01/70 à 0h0m0s...

Maintenant s'il y a quelque chose que tu n'a pas compris, relit cet exemple...

Toujours quelque chose de pas compris, relit encore...

Maintenant a toi de te debrouiller pour garder ce qui t'interesse :)

Ciao

PS: J'ai pe etre fait une erreur de calcul (mm si ca m'etonnerait) ms en meme temps le raisonnent est le meme que les enfants de 10 ans apprennent a lecole pour transformer des secondes en jours... Fo juste que tu prennes le temps de chercher... Ca m'a pris plus d' 1/4 h a te aper tout ca (et a le sortir a la calculette), mais je suis sur qu'en cherchant avec un exemple sur un bout de papier toi aussi tu aurais trouve en quelques minutes...)

"2 choses sont infinies : l'univers et la betise humaine
bien que en ce qui concerne la 1ere je n'ai pas encore de certitude absolue"
0
Nebul Messages postés 22 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 2 juillet 2004 3
14 avril 2004 à 11:34
Voila ce que je cherchais !!!! magnifique !!! Merci à toi fat_cartman trop cool, jpensais pas que ça marchait comme ça... ouf !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
14 avril 2004 à 11:41
Oui, ouf, comme tu dis! Un conseil aux anglophones (ou pseudo-anglophones comme moi), telechargez la version anglaise du manuel php, elle est plus complete, precise, et à jour... Ca vaut bien un petit effort!

Fat_Cartman,
Parce que je le vaux bien... 
0
$mysq_format_date = date("Y-m-d H:i:s");
et voila
0
reauthoring
22 mai 2008 à 11:36
heu les gars vous oubliez les années bisextiles....
et puis il y a des fonction en php pour sa:

https://www.php.net/manual/fr/function.mktime.php
0
bobmcneal01 Messages postés 2 Date d'inscription samedi 11 avril 2009 Statut Membre Dernière intervention 11 avril 2009
11 avril 2009 à 15:36
Bobomcneal !
Bojour à tous !
j'ai fais quelque recherche et je suis héreux de vous faire part de mes recherches, donc voici le code :

<?
$date_string = mktime(0,0,0,date("m"),date("d"),date("Y"));
// nombre de jour que vous voulez à ajouter ici c'est 60 jours
$nombre_jour = 60;
// vous pouvez déduire la date d'aujourd'hui en remplaçant le signe + en -
$timestamp = $date_string + ($nombre_jour * 86400);
$nouvelle_date = date("Y-m-d", $timestamp);

// pour afficher la nouvelle date
echo $nouvelle_date."<br>";
$h= date("Y-m-d", $date_string);
echo $h;

?>
visiter le site http://strates-madagascar.wahost.org/midi/
A bientôt !
0