[Résolu] Explications php formtage date fr
Dernière réponse : dans Programmation
Voila je débute en php et je viens donc de "réussir" a afficher une date sous le format suivant:
ex: Mardi 23 Janvier 2007.
Cependant j'aimerais quand meme qq explications car le code trouvé sur internet ne me parle pas trop.
Merci a vous.
ex: Mardi 23 Janvier 2007.
Cependant j'aimerais quand meme qq explications car le code trouvé sur internet ne me parle pas trop.
<?php
// fonction date en francais
function date_fr()
{
$mois = array("Janvier", "Fevrier", "Mars",
"Avril","Mai", "Juin",
"Juillet", "Août","Septembre",
"Octobre", "Novembre", "Decembre");
$jours= array("Dimanche", "Lundi", "Mardi",
"Mercredi", "Jeudi", "Vendredi",
"Samedi");
return $jours[date("w")]." ".date("j").$mois[date("n")-1]." ".date("Y");
}
print(date_fr());
?>
Merci a vous.
Autres pages sur : resolu explications php formtage date
Sylvain37 a édité ce message
Lassé par la pub ? Créez un compte
Chez moi, j'utilise ces deux "choses".. Ca n'est pas très "parfait" côté usage du PHP, mais ça fonctionne :
Vois ce qui peut te convenir
..
function gendate() { // Génère la date, si besoin (cas où la date n'est pas lue dans une bdd)
$date = date("w d m Y\, H\hi");
return $date;
}
function changedate($date,$format) { // Transforme la date au format désiré
if (ereg("([0-6]{1}) ([0-9]{2}) ([0-9]{2}) ([0-9]{4}), ([0-9]{2})h([0-9]{2})", $date, $regs) OR ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs)) {
$yyyy = 4;
$mm = 3;
$dd = 2;
$offset = 0;
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs)) {
$yyyy = 1;
$mm = 2;
$dd = 3;
$offset = 1;
}
$tab_jours = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$DayName = $tab_jours[($regs[1])];
$jourNum = $regs[$dd];
if($regs[$dd] == "1") {
$jourNumPart = "1er";
}
elseif($regs[$dd] > "1" && $regs[$dd] < "10") {
$jourNumPart = substr($regs[$dd], 1,1);
}
else { $jourNumPart = $regs[$dd]; }
$tab_mois = array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$moisNum = $regs[$mm];
$moisName = $tab_mois[($regs[$mm]-1)];
$anneeNum = $regs[$yyyy];
$heureNum = $regs[5 - $offset];
$minNum = $regs[6 - $offset];
switch ($format) {
case 1 : $date = $DayName.' '.$jourNumPart.' '.$moisName.' '.$anneeNum.', '.$heureNum.'h'.$minNum; break;
// Format "Lundi 20 Avril 2006, 20h30"
case 2 : $date = $anneeNum.'-'.$moisNum.'-'.$jourNum.', '.$heureNum.'h'.$minNum; break;
// Format "2006-04-20, 20h30"
case 3 : $date = $jourNumPart.' '.$moisName.' '.$anneeNum; break;
// Format "20 Avril 2006"
case 4 : $date = $DayName.' '.$jourNumPart.' '.$moisName.' '.$anneeNum; break;
// Format "Lundi 20 Avril 2006"
case 5 : $date = $jourNum.' / '.$moisNum.' / '.$anneeNum; break;
// Format "20 / 04 / 2006"
case 6 : $date = $jourNum.'.'.$moisNum.'.'.$anneeNum.', '.$heureNum.'h'.$minNum; break;
// Format "20.04.2006, 20h30"
}
}
return $date;
}
Vois ce qui peut te convenir
..
Sinon j'ai ça à te proposer:
Peut-etre cela te sera-t-il plus parlant ?
<?php
setlocale(LC_ALL, 'french');
$JourL = strftime("%A");
$Jour = strftime("%d");
$Mois = strftime("%B");
$Annee = strftime("%Y");
$heure = date("H:i");
echo "Bonjour, nous sommes le $JourL $Jour $Mois $Annee et il est $heure";
?>
Peut-etre cela te sera-t-il plus parlant ?
Citation :
Je préfère (estétiquement) la version de dartyduck
Tu m'étonnes
!! Je suis loin d'être un as en PHP........Je sens bien que je vais m'inspirer du code de dartyduck.. D'ailleurs, plus d'infos sur le manuel PHP >> http://fr3.php.net/manual/fr/function.strftime.php..
Pour ta méthode FloK, elle est très proche de celle dont je me sers aussi et fait appel aux tableaux php. Lit la doc php sur les arrays et tu comprendras le fonctionnement.
Dans le return, entre crochets se trouve au final un nombre (données par la variable $date) ce nombre renvoi ensuite à la ligne du tableau donné par la variable placé avant les crochets. SI tu te reporte au contenu de cette variable, tu verras que c'est un tableau (dfinit juste au dessus. Et si tu compte (en commençant à 0, tu verras que le nombre plac" entre crochet par ta variable date renvoie automatiquement sur le jour correspondant dans la ligne du tableau visé.
Idem pour les mois.
Dans le return, entre crochets se trouve au final un nombre (données par la variable $date) ce nombre renvoi ensuite à la ligne du tableau donné par la variable placé avant les crochets. SI tu te reporte au contenu de cette variable, tu verras que c'est un tableau (dfinit juste au dessus. Et si tu compte (en commençant à 0, tu verras que le nombre plac" entre crochet par ta variable date renvoie automatiquement sur le jour correspondant dans la ligne du tableau visé.
Idem pour les mois.
Chapellois a dit :
Sinon j'ai ça à te proposer:
<?php
setlocale(LC_ALL, 'french');
$JourL = strftime("%A");
$Jour = strftime("%d");
$Mois = strftime("%B");
$Annee = strftime("%Y");
$heure = date("H:i");
echo "Bonjour, nous sommes le $JourL $Jour $Mois $Annee et il est $heure";
?>
Peut-etre cela te sera-t-il plus parlant ?
c'est (presque) la meilleurs méthode ...
pour bien faire, faut ne faire qu'un seul appel a strftime
<?php
setlocal(LC_ALL, 'french');
echo strftime("Bonjour, nous sommes le %A %d %B %Y et il est %H:%M");
?>
Lassé par la pub ? Créez un compte
- Contenus similaires :