format de date


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

format de date

Message le Mer Nov 23, 2005 15:20

Bonjour
La je suis un peu perdu dans toutes mes solutions.
J'ai un truc très long pour obtenir à partir de:
2005-11-23
--> 23 Novembre 2005

Pour avoir 2005-11-23 je fais $date=date("Y-m-d");

Y a t-il moyen de transformer en 23 Novembre 2005 sans avoir 20 lignes de codes?

Merci


Aquarius
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 447
Inscription: 8 Nov 2004

Message le Mer Nov 23, 2005 15:26

ça m'intéresse aussi, notamment pour transformer la variable date[0] de dotclear qui affiche brut ce type date : 2005-11-23


narayana
WRInaute impliqué
WRInaute impliqué
 
Messages: 835
Inscription: 28 Jan 2005

Message le Mer Nov 23, 2005 15:27

Bonjour
là est ton bonheur http://fr.php.net/date

ouai pas si evident que ca en fait :oops:

Code: Tout sélectionner
$date=date("d F Y");


Aquarius
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 447
Inscription: 8 Nov 2004

Message le Mer Nov 23, 2005 15:43

narayana a écrit:Bonjour
là est ton bonheur http://fr.php.net/date

ouai pas si evident que ca en fait :oops:

C'est clair. Moi qui suit un noob en programmation, ça m'a mis un mal de crane lorsque je suis arrivé sur la page :lol:


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

super

Message le Mer Nov 23, 2005 15:44

Ouai en fait c'est archi simple et complet.
Merci


tangui
WRInaute impliqué
WRInaute impliqué
 
Messages: 863
Inscription: 10 Fév 2005

Message le Mer Nov 23, 2005 15:44

une date php en francais sans 10 lignes de codes? je ne crois pas que cela soit possible... car malheureusement les dates (mois et jours) par defaut sont en anglais


e-kiwi
Modérateur
Modérateur
 
Messages: 15541
Inscription: 23 Déc 2003

Message le Mer Nov 23, 2005 15:47

function datefr_mois($date_sql){
// Declaration du tableau des noms de jours en Francais
//-------- ici

$j_fr[Sunday] = "Dimanche";
$j_fr[Monday] = "Lundi";
$j_fr[Tuesday] = "Mardi";
$j_fr[Wednesday] = "Mercredi";
$j_fr[Thirsday] = "Jeudi";
$j_fr[Friday] = "Vendredi";
$j_fr[Saturday] = "Samedi";

// Declaration du tableau des noms de jours en Francais
$m_fr[1] = "Janvier";
$m_fr[2] = "Fevrier";
$m_fr[3] = "Mars";
$m_fr[4] = "Avril";
$m_fr[5] = "Mai";
$m_fr[6] = "Juin";
$m_fr[7] = "Juillet";
$m_fr[8] = "Aout";
$m_fr[9] = "Septembre";
$m_fr[10] = "Octobre";
$m_fr[11] = "Novembre";
$m_fr[12] = "Decembre";

$la_date = explode(' ', $date_sql); // on decompose la date SQL
$heure_sql= explode(':', $la_date[1]); // On prend la partie heure
$date_sql = explode('-', $la_date[0]); // On prend la partie date


if (substr($date_sql[2], 0, 1) == '0' ) // On verifie si le 1er caractere est 0 dans le numero du mois
{
// si oui alors on supprime le 1er caractere
$date_sql[2] = substr($date_sql[2], 1, strlen($date_sql[2]) -1);
}

$heure = $heure_sql[0]; // La variable de l'heure
$minutes = $heure_sql[1]; // La variable des minutes
$secondes = $heure_sql[2]; // la variable des secondes

$annee = $date_sql[0]; // La variable des annees
$num_mois = $date_sql[1]; // La variable du numero du mois
$nom_mois = $m_fr[$num_mois]; // La variable du mois en francais
$num_jour = $date_sql[2]; // Le numero du jour
$nom_jour = $j_fr[date("l", mktime(0, 0, 0, $num_mois, $num_jour, $annee))];

etc...
là tu crée la chaine de caractere que tu veux en fonction du format que tu veux...
}


Aquarius
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 447
Inscription: 8 Nov 2004

Message le Mer Nov 23, 2005 15:52

oui c'est vrai, à la place de "novembre", ça me met "november"

Bon OK Tangui, je suis pret a accepter toutes les solutions même celle de 20 lignes de codes ;)


Aquarius
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 447
Inscription: 8 Nov 2004

Message le Mer Nov 23, 2005 16:43

Oups désolé e-kiwi, je teste ça et te dis si ça marche, merci


spout
WRInaute accro
WRInaute accro
 
Messages: 4106
Inscription: 14 Mai 2003

Message le Mer Nov 23, 2005 16:52

tangui a écrit:une date php en francais sans 10 lignes de codes? je ne crois pas que cela soit possible... car malheureusement les dates (mois et jours) par defaut sont en anglais


Hier je répondais à une question du genre:
http://www.webrankinfo.com/forums/viewtopic_40649.htm

Pour avoir les dates dans la langue courante:
http://php.belnet.be/manual/fr/function.strftime.php
Formate une date/heure locale avec les options locales

Donc pas besoin de s'amuser à traduire les dates, php le fait très bien tout seul.


tangui
WRInaute impliqué
WRInaute impliqué
 
Messages: 863
Inscription: 10 Fév 2005

Message le Jeu Nov 24, 2005 12:20

Bien joué, j'avais oublié cette fonction...
Ce qui nous donne donc:

Code: Tout sélectionner
<?

setlocale(LC_TIME, "fr"); //setlocale -- Modifie les informations de localisation


/*%A : nom complet du jour de la semaine (local).
%B : nom complet du mois (local).
%d : jour du mois en numérique (intervalle 01 à 31)
%Y : l'année, numérique, sur quatre chiffres */

$jour = strftime("%A");
$num_jour = strftime("%d");
$mois = strftime("%B");
$annee = strftime("%Y");

echo $jour." ".$num_jour." ".$mois." ".$annee;

//ou plus cours

$date=strftime("%A %d %B %Y");
echo $date;

?>


et voili :D

Edit: une petite erreur corrigé ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités