Formater une date
le 16/11/2007 à 00:30
Bonsoir,
Comment obtenir la date au sortir de'une BDD dans le format : vendredi 13 novembre 2007
Merci d'avance
le 16/11/2007 à 07:16
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
À partir d'un timestamp, d'un datetime ou encore un autre format ?
le 16/11/2007 à 11:58
Bonjour LupusMic,
euh...
j'ai la date stockée dans ma BDD sous le format :
années.mois.jours.heures.minutes.secondes
et je voudrais la passer comme ceci :
Vendredi 16 novembre 2007
Merci
le 16/11/2007 à 13:47
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Il faut que tu utilises la fonction
strftime .
le 16/11/2007 à 14:03
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
(La Globule) Certes, mais il faut surtout qu'il sache ce qu'il manipule, sinon il va droit dans le mur.
Parce que ce qui est affiché par un select n'est pas forcément ce qui est stocké.
(tommy) Pour connaitre le type de champ, il faut que tu regardes la requête de création de la table.
le 16/11/2007 à 14:06
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
C'est pas faux, cette fonction prend un timestamp et non une string en paramètre :)
le 16/11/2007 à 20:16
re,
Voila la table :
`date` datetime NOT NULL default '0000-00-00 00:00:00',
+
le 16/11/2007 à 22:44
i M@N
Déconnecté
One Love, One Heart, One Unity.
Hello.
Essaye :
<?php
sscanf ( $date , "%4s-%2s-%2s %2s:%2s:%2s" , & $an , & $mois , & $jour , & $heure , & $min , & $sec ) ; $date = date ( "D, d M Y" , mktime ( 1 , 0 , 0 , $mois , $jour , $an ) ) ; ?>
@+...
le 16/11/2007 à 23:12
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Le résultat n'est pas ce qu'il souhaite obtenir.
le 16/11/2007 à 23:17
re,
Non en effet je voudrais obtenir ce résultat :
Vendredi 16 novembre 2007
le 17/11/2007 à 07:35
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ok, donc maintenant qu'on a presque toutes les infos, on va pouvoir opérer (docteur Pater, un avé et... je m'égare).
1- il faut charger la locale qui va bien, qui va permettre aux fonctions de choisir correctement le nom du jour et du moins
2- convertir ce datetime en quelque chose de manipulable par les fonction de PHP.
<?php
$datetime = '2007-07-11 01:21:08' ; $locales_fr = array ( 'fr_FR.UTF-8@euro' , 'fr_FR.UTF-8' , 'fr_FR@euro' , 'fr_FR' , 'fr' ) ; $locale = setlocale ( LC_TIME , $locales_fr ) ; if ( ! $locale ) die ( "Les locales ne sont pas supportées !\n" ) ; printf ( "Aujourd'hui (%s)\n" , strftime ( "%A %e %B %Y" ) ) ; $thatday = date_parse ( $datetime ) ; $thatday = mktime ( $thatday [ 'hour' ] , $thatday [ 'minute' ] , $thatday [ 'second' ] , $thatday [ 'month' ] , $thatday [ 'day' ] , $thatday [ 'year' ] ) ; printf ( "Le jour dans le datetime (%s)\n" , strftime ( "%A %e %B %Y" , $thatday ) ) ; ?>
N'oublie pas de lire la documentation de chaque fonction.
le 19/11/2007 à 11:31
Bonjour,
Je sais pas vous mais moi je n'ai pas pu atteidre le site pendant tout le WE. Pour cette raison je viens de voir ton message que maintenant, Merci.
Moi j'ai fais comme ceci, ca ressemble grave à ton script :
Si on ajoute setlocale(LC_ALL, "fr_FR"); on a la date en US
Merci LupusMic et tout les autres bien sur
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter