FONCTION DATE ET HEURE

neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 - 12 mars 2008 à 14:10
geantfire Messages postés 17 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 12 mars 2008 - 12 mars 2008 à 18:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46029-fonction-date-et-heure

geantfire Messages postés 17 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 12 mars 2008
12 mars 2008 à 18:24
C'est vrai vous avez raison c'est inutile... on peut pas supprimer un code source pour eviter de surcharger pour rien le serveur ?
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
12 mars 2008 à 16:37
Petit complément... Pour avoir la date en français, pas la peine de dizaines de code...

setlocale(LC_TIME, 'fr_FR');
echo date('l j F Y');

Affichera :
mercredi 11 mars 2008

Sur un serveur windows, je crois que c'est :
setlocale(LC_TIME, 'FRA');

A confirmer.

Voilà, pour avoir la date en français en 2 lignes.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
12 mars 2008 à 15:58
Le probleme de ta fonction actuelle c'est qu'elle n'est pas exploitable sur une plateforme non francisée.
De plus elle ne permet pas une flexibilité puisqu'au final, faire l'appel à la fonction date directement, regarde la différence de code :

date('d/m/Y H\:i');
dateNow ();

Du coup tu "surcharge" (dans le sens alourdir) le serveur avec une fonction qui donnerai le meme résultat.

Un des autres problemes vient du fait qu'avec ta fonction, je ne peux pas modifier le type d'affichage (comment je fais si je veux les secondes ?).
De plus il ne faut pas oublier de prendre en compte le fait que le format date/horaire diffère selon les pays, du coup, au States, ton code est invalide (même si on suppose que le format Ecrit est ignoré ($lettre=false). (Le format ricain (entre autre !) c'est Mois/Jour/Année) (voir Wikipedia, Localisation).

Il y a donc de grosses modifications à faire sur ton code. Ce n'est pas pour rien que les frameworks type Zend, Cake implémentent leur propre classe Date ! :)

Je compte sur toi pour une mise à jour !

Courage
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
12 mars 2008 à 14:56
Salut,

Je ne vois pas l'intérêt de cette source...
A la limite dans les snippets, et encore...

Ta fonction n'apporte rien de plus sur la fonction date...

Désolé, mais pour moi, c'est une source inutile.
geantfire Messages postés 17 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 12 mars 2008
12 mars 2008 à 14:25
C'est vrai que je pourrais faire un choix si c'est poru mettre JJ/MM/AAAA ou en lettres, c'est pas bete du tout
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
12 mars 2008 à 14:10
Ton code est sympa mais je pense incomplet. Tu ne permets que la possibilité d'afficher les noms en lettre mais pas les chiffres. Pour le principe, j'attribue à ce code la note de 7. Tu peux encore faire mieux, t'en as le potentiel!

Personnellement, voici le code que j'ai fait (sauvegardez-le et faites un include là où vous souhaitez qu'il apparaisse) :

<?php
//--- DATE DU JOUR EN fr ---//
//
$date=getdate();
function date_fr($date){
//--- Les noms des jours en français
$jour{0} = "dimanche";
$jour{1} = "lundi";
$jour{2} = "mardi";
$jour{3} = "mercredi";
$jour{4} = "jeudi";
$jour{5} = "vendredi";
$jour{6} = "samedi";
//--- Les noms des mois en français
$mois{1} = "jan";
$mois{2} = "fév";
$mois{3} = "mar";
$mois{4} = "avr";
$mois{5} = "mai";
$mois{6} = "jun";
$mois{7} = "jul";
$mois{8} = "aoû";
$mois{9} = "sep";
$mois{10} = "oct";
$mois{11} = "nov";
$mois{12} = "déc";

//--- le jour en français
$jourfr=$jour{$date['wday']};
//--- si vous souhaitez une majuscule pour le jour, activez la ligne ci-dessous
//$jourfr=ucfirst($jourfr);
//--- le jour en chiffre
$jour = $date['mday'];
if ($jour<10) {
$jour = "0".$jour;
}
else {
$jour = $jour;
}
//--- le mois en chiffre
$mois_cf = $date['mon'];
if ($mois_cf<10) {
$mois_cf = "0".$mois_cf;
}
else {
$mois_cf = $mois_cf;
}
//--- le mois en français
$moisfr = $mois{$mois_cf} ;
//--- si vous souhaitez une majuscule pour le mois, activez la ligne ci-dessous
//$moisfr=ucfirst($moisfr);
//--- l'annee`
$annee = $date['year'];
//--- la date complète en français
$date_en_fr = $jour."/".$mois_cf."/".$annee;
return $date_en_fr;
}
/*--- AFFICHAGE ---
DATE EN français D'UN TIMESTAMP RECUPERE DANS UNE TABLE
exemple : $date1="1034845105";
la variable $date devient : $date=getdate($date1); */

echo @date_fr($date);
?>
Rejoignez-nous