Page 1 sur 1

date en français

Posté : 13 juil. 2005, 19:14
par Janyss
Bonjour,
Je viens de changer de serveur.
Je veux juste afficher la date du jour en français.
J'ai fait ça :
//On bascule en date francaise
setlocale (LC_TIME, 'fr_FR');

//On affiche la date
echo strftime("%A %d %B %Y");

Ca marchait bien.
Sur oléane, ça reste en anglais. pourtant j'ai bien mis le set locale ???
Merci de votre aide.

Posté : 13 juil. 2005, 19:16
par fggdm
Salut,

Il faut tester les valeurs de retour des fonctions quand il y en a !
setlocale() retourne un string ou FALSE. Je pense qu'avec un petit test tu apprendrais des choses...

Posté : 13 juil. 2005, 19:17
par rami
Issu de la doc:
La valeur retournée par setlocale() dépend du système sur lequel PHP est installé.

Je suppose que sur ton nouveau serveur, c'est en anglais ;)

Et donc, je fais comment pour avoir du français ?

Posté : 13 juil. 2005, 20:40
par Janyss
Et donc, je fais comment pour avoir du français ?
Merci

on ne peut pas avoir la date en français

Posté : 14 juil. 2005, 11:25
par Janyss
Bonjour,
si mon serveur est en anglais. Dois-je faire un script pour traduire ?
Merci à vous :(

plutôt dur !

Posté : 14 juil. 2005, 15:22
par janyss
Re,
J'ai bien du mal.
D'abord je suis chez Oléane, ce qui n'est pas le meilleur postulat.
Ensuite, quand j'ai un pb de script, le serveur ne me donne pas de message d'erreur comme chez nexen par exemple !
J'essaye de transformer : 2005-05-23 en samedi 23 mai 2005.
Sachant que je ne peux pas utiliser setlocale.
Je suis en train de me perdre dans un script avec des tableaux ...
gr
un peu d'aide svp ? :(

Posté : 14 juil. 2005, 17:38
par Cyrano
Tiens, fais toi une petite fonction maison avec quelque chose comme ça:
<?php
$date_originale = "2005-07-14";
$date_en = explode("-",$date_originale);
switch ($date_en[1])
{
    case  01 : $mois = "janvier"; break;
    case  02 : $mois = "f&eacute;vrier"; break;
    case  03 : $mois = "mars"; break;
    case  04 : $mois = "avril"; break;
    case  05 : $mois = "mai"; break;
    case  06 : $mois = "juin"; break;
    case  07 : $mois = "juillet"; break;
    case  08 : $mois = "ao&ucirc;t"; break;
    case  09 : $mois = "septembre"; break;
    case  10 : $mois = "octobre"; break;
    case  11 : $mois = "novembre"; break;
    case  12 : $mois = "d&éacute;cembre"; break;
}
$date_fr = $date_en[2]." ".$mois." ".$date_en[0];
echo $date_fr;
?>

oui mais tout de même

Posté : 14 juil. 2005, 19:19
par Janyss
Bonjour et merci.
C'est en fait ce que j'ai fait.
Deux tableaux pour réaffecter le jour de la semaine (samedi) et le mois, en français.
Je trouve tout de même fou qu'Oléane n'installe pas une version "compatible" avec le setlocale().
Par ailleurs, le fait qu'aucun message d'erreur ne s'affiche lors d'un pb php, est-ce que cela vient de la version du php (4.2 je crois) ou d'une faignantise d'Oléane ?
Merci à vous.
(on est mieux chez nexen... mais je n'avais pas le choix).

Posté : 14 juil. 2005, 19:49
par Cyrano
Pour les messages d'erreur, ça dépend de la configuration de display_error dans le php.ini : sur un serveur de production, il est rare qu'on affiche tout, c'est pour ça qu'il vaut mieux avoir une installation locale affichant tout (E_ALL) pour ensuite envoyer sur le serveur de production quand on a plus d'erreur sur sa propre machine..

Posté : 16 juil. 2005, 01:05
par Corentin
Pour avoir tes messages d'erreurs met sa sur ta premiere ligne de ton script:
error_reporting(E_ALL & ~E_NOTICE);
Normalement les hebergeurs permettent d'utiliser cette fonction.

Re: oui mais tout de même

Posté : 16 juil. 2005, 11:58
par pjl
Par ailleurs, le fait qu'aucun message d'erreur ne s'affiche lors d'un pb php, est-ce que cela vient de la version du php (4.2 je crois) ou d'une faignantise d'Oléane ?
Ce serait le meilleur moyen pour eux de se facher avec 80% de leurs clients.
Je doute que leurs clients apprécient de ne plus voir leurs sites fonctionner du jour au lendemain. :lol: :lol: