Création
d'entreprise
Posez votre question Signaler

Conversion en date (php/mysql)

Nebul - Dernière réponse le 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 !!!
Lire la suite 

Conversion en date (php/mysql) »

Suggestions
9 réponses
Réponse
+4
moins plus
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... 
Ajouter un commentaire
Réponse
+1
moins plus
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 ;)
lagassat- 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"
Ajouter un commentaire
Réponse
+0
moins plus
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"
Ajouter un commentaire
Réponse
+0
moins plus
Voila ce que je cherchais !!!! magnifique !!! Merci à toi fat_cartman trop cool, jpensais pas que ça marchait comme ça... ouf !!!
Ajouter un commentaire
Réponse
+0
moins plus
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... 
Ajouter un commentaire
Réponse
+0
moins plus
$mysq_format_date = date("Y-m-d H:i:s");
et voila
Ajouter un commentaire
Réponse
+0
moins plus
heu les gars vous oubliez les années bisextiles....
et puis il y a des fonction en php pour sa:

http://fr.php.net/manual/fr/function.mktime.php
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Ce document intitulé « conversion en date (php/mysql) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?