Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DATE COMPLETE EN FRANÇAIS


Information sur la source

Catégorie :Date / Heure Classé sous : date, datetime, dates, datename Niveau : Débutant Date de création : 01/04/2008 Date de mise à jour : 10/06/2008 06:43:18 Vu / téléchargé: 6 155 / 91

Note :
Aucune note

Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note


Description

ce code php vous permettra d'afficher au format français et en toutes lettres de la date sur vos pages web et d être quotidiennement informer via votre site web sur le nom du saint patron du jour selon le calendrier gregorien.
 

Source

  • <?php
  • ///////////////////////////////////////////////////////////////////////////
  • ///////////////////////////////////////////////////////////////////////////
  • /// ///
  • /// Affichage de la date en Français avec le saint du jour ///
  • /// selon le calendrier Crégorien (celui de tous les jours) ///
  • /// Les remarques sont les bienvenue ///
  • /// ///
  • /// Developpé par Alfred Timagni T. SITEWEB http://www.bbsecurit.com ///
  • /// copyright 2007-2008 Tchalftechnology, Inc ///
  • /// ///
  • ///////////////////////////////////////////////////////////////////////////
  • ///////////////////////////////////////////////////////////////////////////
  • $day = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
  • $jour = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
  • $mois = array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
  • $month = array('Jan','Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
  • $j = date('d');
  • if ($j<02)
  • {
  • $j = "1er";
  • }
  • // ici on detecte les noms courts en anglais du jour et mois en cours(ex: "sun", pour sunday et "Aug" pour August.
  • $da = date('D');
  • $mo = date('M');
  • //année en cours sur 4 chiffres
  • $a = date('Y');
  • //aux noms courts en anglais des jour et mois encours on fait correspondre l'equivalent en nom long français
  • // ex: sun=dimanche et Aug=Août
  • if(false !== ($iClef = array_search($da, $day))) {
  • $d = $jour[$iClef];
  • }
  • if(false !== ($iCle = array_search($mo, $month))) {
  • $m = $mois[$iCle];
  • }
  • /*date('d') et date('m') affichent respectivement la date du jour et celle du mois sur 2 chiffres (ex: 01,02....09,10,11........20)
  • or l'insertion de "01,02........09" par exemple dans la bdd deviendra automatiquement "1,2,........9". pour notre requetesql, il importe donc de transformer
  • toutes les valeurs des dates de de jour et de mois compris entre 01 et 09 en des chiffres sur 1 caractere c-à-d 1,2,.......9.
  • */
  • if (date('d')>=10){
  • $jo = date('d');
  • }else{
  • $jo = strrev(date('d'))/10;
  • }
  • if (date('m')>=10){
  • $moi = date('m');
  • }else{
  • $moi = strrev(date('m'))/10;
  • }//ici on lance la requete pour recuprerer le nom du saint patron du jour
  • include('connect/conf.php');
  • mysql_select_db($BD_database, $BD_connect);
  • $sql = "SELECT DISTINCT saint FROM jours_de_fete WHERE jour='$jo' AND mois='$moi'";
  • $sql_query = mysql_query( $sql, $BD_connect) or die (mysql_error()); //On recupère les infos sur le saint du jour
  • $fete=mysql_result($sql_query, 0, saint);
  • $msg = 'Fête du Jour';
  • $Date_fr= $d.', '.$j.' '.$m.' '.$a .' '.' '.$msg.': '.$fete;
  • mysql_free_result($sql_query);
  • mysql_close($BD_connect);
  • //exemple d'utilisation
  • //echo $Date_fr;
  • ?>
<?php
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///                                                                     ///
///      Affichage de la date en Français avec le saint du jour         ///
///      selon le calendrier Crégorien (celui de tous les jours)        ///
///            Les remarques sont les bienvenue                         ///
///                                                                     ///
/// Developpé par Alfred Timagni T.   SITEWEB http://www.bbsecurit.com  ///
///       copyright 2007-2008 Tchalftechnology, Inc                     ///
///                                                                     ///
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
$day = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
$jour = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$mois = array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$month = array('Jan','Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
$j = date('d');
if ($j<02)
{
$j = "1er";
}
// ici on detecte les noms courts en anglais du jour et mois en cours(ex: "sun", pour sunday et "Aug" pour August.
$da = date('D'); 
$mo = date('M');
//année en cours sur 4 chiffres
$a = date('Y');
//aux noms courts en anglais des jour et mois encours on fait correspondre l'equivalent en nom long français
// ex: sun=dimanche et Aug=Août
if(false !== ($iClef = array_search($da, $day))) {
$d = $jour[$iClef];
}
if(false !== ($iCle = array_search($mo, $month))) {
$m = $mois[$iCle];
}
/*date('d') et date('m') affichent respectivement la date du jour et celle du mois sur 2 chiffres (ex: 01,02....09,10,11........20)
or l'insertion de "01,02........09" par exemple dans la bdd deviendra automatiquement "1,2,........9". pour notre requetesql, il importe donc de transformer
toutes les valeurs des dates de de jour et de mois compris entre 01 et 09 en des chiffres sur 1 caractere c-à-d 1,2,.......9.
*/
if (date('d')>=10){
$jo = date('d');
}else{
$jo = strrev(date('d'))/10;
}
if (date('m')>=10){
$moi = date('m');
}else{
$moi = strrev(date('m'))/10;
}//ici on lance la requete pour recuprerer le nom du saint patron du jour
include('connect/conf.php');
mysql_select_db($BD_database, $BD_connect);
$sql = "SELECT DISTINCT saint FROM jours_de_fete WHERE jour='$jo' AND mois='$moi'";    
$sql_query = mysql_query( $sql, $BD_connect) or die (mysql_error()); //On recupère les infos sur le saint du jour  
$fete=mysql_result($sql_query, 0, saint);
$msg = 'Fête du Jour';      
$Date_fr= $d.', '.$j.' '.$m.' '.$a .' '.' '.$msg.': '.$fete;
mysql_free_result($sql_query);
mysql_close($BD_connect); 
//exemple d'utilisation
//echo $Date_fr;
?>

Conclusion

//exemple d'utilisation
//echo $Date_fr;
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

01 avril 2008 19:47:37 :
juste pour inserer l'appel du php
01 avril 2008 22:58:37 :
merci pour vos remarques.je prendrai en compte l'aspect mysql plutard
01 avril 2008 23:07:52 :
remplacement des doubles quotes par les simples
02 avril 2008 08:43:19 :
voila vous avez critiqué les boucles FOR dans la version de depart, alors je les enleve. merci à tous!
02 avril 2008 08:54:46 :
suppression des crochets dans la declaration des tableaux
11 avril 2008 10:39:09 :
simplification du code
10 juin 2008 06:31:43 :
il s'agit ici de la refonte complète de la version du mois d'avril qui tenait seulement en une petite fonction affichant le date complète en français. dans cette version - intégration de mysql pour affichage des fêtes quotidiennes -commentaire on ne peu plus detaillée. -transfert du zip la version avenir verra naitre un module trilingues(fr, rn it)et un affichage .swf best enjoy!
10 juin 2008 06:43:18 :
refonte du code source du mois d'avril. intégration de mysql et extension des fonctionnalités de la source par affichage quotidienne du saint patron fêté. version avenir: trilingue(fr, en, it) Affichage en flash

Commentaires et avis

signaler à un administrateur
Commentaire de coucou747 le 01/04/2008 20:58:04

salut

c'etait une bonne idee de chercher a declarer tes tableaux avant de les utiliser, mais cependant, c'est pas :
# $day[] =array();
# $jour[] = array();
# $month[] = array();
# $mois[] = array();
mais plutot
# $day =array();
# $jour = array();
# $month = array();
# $mois = array();
qui est la version correcte.

sinon, un proposition d'amelioration : tu peux chercher a faire une fonction de conversion de dates anglaises, en dates francaises, histoire de pouvoir utiliser des dates stoquees en mysql, et les passer a la fonction.

signaler à un administrateur
Commentaire de malalam le 01/04/2008 21:58:13 administrateur CS

Hello,

ne mets pas de count() dans tes boucles for() de cette manière (aucune fonction d'ailleurs, pas comme ça en tous cas).
D'autant plus que tes boucles servent à rien. Un exemple pour la 1ère :
if(false !== ($iClef = array_search($da, $day))) {
$d = $jour[$iClef];
}

Sinon, ce code a été vu et revu sur ce site.

signaler à un administrateur
Commentaire de willeraser le 01/04/2008 22:24:12

mon dieu, un count dans une boucle for => c'est le mal !


et ca c'est assez moche :

date = $d.","." ".$j." ".$m." ".$a ;
return $date;

mets plutot ca :

return $d.', '.$j.' '.$m.' '.$a;

signaler à un administrateur
Commentaire de neigedhiver le 01/04/2008 23:13:25

Salut,

Est-ce que c'est pas plus simple d'utiliser set_locale('FR_fr') ?

signaler à un administrateur
Commentaire de malalam le 01/04/2008 23:20:30 administrateur CS

Si, mais comme c'est tributaire du serveur et de la façon dont il est configuré, selon les cas, ça ne fonctionnera pas.

signaler à un administrateur
Commentaire de neigedhiver le 02/04/2008 00:27:22

Euh... En fait, c'est surtout tributaire de :
- le système d'exploitation (argument différent entre WIndows et Linux)
- la langue française est-elle installée ou non ?

Sur un serveur français, il y a fort à parier que la langue française sera présente...
A part ça, je ne vois pas (en relisant la doc) de contre-indication...

Bon sinon, sans faire avec setlocale()...
Un simple str_replace ne serait-il pas plus efficace ? Il faut certes un tableau définissant les valeurs anglaises et les valeurs françaises, mais sinon, ça se fait en une ligne...
Ou alors je dis une connerie ?

signaler à un administrateur
Commentaire de malalam le 02/04/2008 00:35:30 administrateur CS

par serveur et configuration, j'entendais en effet l'OS de la machine faisant tourner le serveur, c'était un raccourci un peu court :-)
Et si si, ce code peut être largement optimisé. Plutôt qu'un str_replace(), un tableau indexé correctement fera largement l'affaire, avec une affectation directe ensuite.

signaler à un administrateur
Commentaire de kiki2sirom le 02/04/2008 11:56:46

salut
$day[0] = 'Sun';
...
$day[6] = 'Sat';

se fait plus simplement :
$day = array('Sun',...,'Sat');

idem pour $jour, $mois, $month

sans avoir besoin de déclarer les tableaux avant :
$day =array();
$jour = array();
$month = array();
$mois = array();

ok c pas grand chose mais c'est une optimisation de nb de lignes...

kiki

signaler à un administrateur
Commentaire de yoman64 le 02/04/2008 13:44:18

Salut,

Euh personne à pensé à dire que ce code aurait plus ça place sur codyx.org ? (Enfin, je suppose qu'un script semblable y est déja présent de toute manière)

signaler à un administrateur
Commentaire de jdalton42 le 03/04/2008 00:42:40

<?php
$jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
$mois = array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre");
echo $jour[date('w', time())].' ';
echo date('j', time()).' ';
echo $mois[date('n', time())-1].' ';
echo date('Y', time()).' - ';
echo date('H:i:s', time());
?>

se serais pas mieu comme sa ? plus court ;)

signaler à un administrateur
Commentaire de jdalton42 le 03/04/2008 14:30:53

salut,

je reposte mon code en virant les doubles quotes ;)

<?php
$jour = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$mois = array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
echo $jour[date('w', time())].' ';
echo date('j', time()).' ';
echo $mois[date('n', time())-1].' ';
echo date('Y', time()).' - ';
echo date('H:i:s', time());
?>

si tu veux le mettre, tu peux ;)

c'est beaucoup plus propre et plus court comme sa ;)

signaler à un administrateur
Commentaire de BaFM le 07/04/2008 09:09:46

Bonjour,

je tiens juste à dire qu'il y a la fonction strftime() qui prend en compte la locale qui permet déjà d'afficher la date dans la langue voulue (si elle est installée). Et à ce moment là, si tu veux garder le format de date(), c'est une convertion vers le format de strftime() qu'il faut faire.

signaler à un administrateur
Commentaire de LeFauve42 le 07/04/2008 11:31:07

Salut,

C'est effectivement deja vu (souvent) et la version de jdalton42 (sans les doubles quotes ;o) ) est beaucoup plus propre (encore que mettre tout ca dans une fonction permettrait de le reutiliser plus facilement) mais est-ce que c'est normal le niveau "initie" pour des comparaisons de strings ?

signaler à un administrateur
Commentaire de mahlaoui le 07/04/2008 16:10:41

tanks

signaler à un administrateur
Commentaire de jdalton42 le 07/04/2008 16:16:15

oui effectivement en mettant mon script dans un fonction c'est clair que ce serai plus pratique.. je suis aussi d'accord cette source a été vue plusieurs fois déjà ..

signaler à un administrateur
Commentaire de bishoponline le 11/11/2008 19:22:06

quelqu'un la mis en ligne que l'on voit ce que cela donne ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Test de valeurs entre 2 dates [ par mfaraday ] BonjourJe souhaiterai tester si une date se trouve bien entre deux dates butoirs. Ne m'y connaissant que moyennement, je pensais m'orienter vers times Comparaison de date [ par benett ] Bonjour à tous,Comment peut-on comparer 2 dates et extraire la différences en jours.Ces 2 dates sont encodées via un formulaire au format aaaa/aa/aa.C Datetime et MySQL [ par DarkSchneider ] Bonjour, Encore un problème, un de plus.Cette fois-ci, c'est les dates.Dans ma base MySQL, j'ai crée une table avec divers champs, dont un se nomm Gestion de dates [ par tryoruda ] SalutJe souhaite quelques tuyaux pour gérer les dates :- un formulaire avec choix du jour / du mois / de l'année envoie vers un seul champ Mysql date- Nombres de jours entre 2 dates! [ par jimmy69 ] Bonjour a tous,Voila j'ai un p'tit stress ....si quelqu'un pouvait m'aider!En fait j'enregistre mes donnees ds une table mysql , des donnees comme le Formulaire php passage de valeur [ par quickynico ] j'ai un formulaire qui se présente de cette façon:libellé datelib1 10/06/1995lib2 25/08/1999... ...j'ai N ligne sur lesquel uniquement la date Comparer des dates [ par Blondy ] Je voudrais comparer des dates pour savoir quel fichier est le plus vieux... Mais lorsque je crée une date avec date("dmy"); par exemple, ça me crée q connaitre les jours entre deux dates [ par nikos283 ] Bonjour,J'aimerai ecrire un petit script pour connaitres quels sont les jours entre deux date.Pars exemple je rentre en date de debut le 07/03/2004 et Date avant 1970. [ par ckoo ] Bonjour tout le monde.Voila le pbl :je fais une appli avec gestion des utilisateurs. On peut saisir leur date de naissance. Quand on enregistre la dat calcul fait sue des dates [ par loicba ] Bonjourje cherche a faire un calcul sur une date ( date courante + 7 jours) et je cherche comment controlé si un date courante est plus grande que la


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,655 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.