Conversion date base de données en phrase

Par ParisElliot, il y a 9 ans


Bonjour à tous,

Via une requête SQL, je récupère plusieurs informations dont des dates. Elles sont dans des champs de type datetime.
Quand je les affiche actuellement, elles sont comme ceci : 2017-04-12 14:30:00 ce qui est normal.

Je souhaiterai les afficher sous forme de phrase, comme par exemple ici : 12 Avril 2017

Voici mon code actuel :

<?php try { $bdd = new PDO('mysql:host=localhost;dbname=medrano2017;charset=utf8', 'root', ''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $reponse = $bdd->query('SELECT id_event, id_tournee, evenement.ville_event AS ville, evenement.lien_resa_event AS lienresa, evenement.adresse_event AS adresse, tournee.description_tournee AS descriptiontournee, tournee.nom_tournee AS nomtournee, (SELECT MIN(s.dateheure_seance) FROM seance s WHERE s.id_event = evenement.id_event) AS premiereSeance, (SELECT MAX(s.dateheure_seance) FROM seance s WHERE s.id_event = evenement.id_event) AS derniereSeance FROM tournee JOIN evenement USING(id_tournee) ORDER BY premiereSeance,derniereSeance'); while ($donnees = $reponse->fetch()) { ?> <tr> <td><p class="villetournee"><?php echo ''.$donnees['ville'].'';?></p> <p class="nomtournee"><?php echo ''.$donnees['nomtournee'].'';?></p></td> <td> Du <?php echo ''.$donnees['premiereSeance'].'';?> <br>au <?php echo ''.$donnees['derniereSeance'].'';?></td> <td><?php echo ''.$donnees['adresse'].'';?></td> <td><a class="lienresa" href="#">RESERVER</a></td> </tr> <?php } $reponse->closeCursor(); ?>

Si vous avez une idée je suis vraiment preneur !
Merci a tous d'avance.

3 réponses

Blinkers, il y a 9 ans

Hello,

Tu peux essayer quelque chose du style :

<?php setlocale(LC_ALL, 'French', 'fr-FR.utf8','fra', 'fr-FR', 'fr_FR', 'fr', 'fr_FR@euro'); $ta_date_formatee = strftime("%d %B %Y", strtotime($ta_date_au_format_datetime)); ?>

Après ca dépend des local disponibles sur ton serveur, sinon tu est obligé de faire un tableau (array) qui contiendrait tout les mois (1 => 'Janvier', 2 => 'Février'...)

ParisElliot, il y a 9 ans

C'est parfait... Merci beaucoup !