Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1185 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Date 2008-01-09 vers Mercredi 9 janvier 2008 ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Date 2008-01-09 vers Mercredi 9 janvier 2008 ?

n°1668628
fredko
Posté le 09-01-2008 à 22:49:28  profilanswer
 

Bonjour,
 
Je cherche a faire une fonction en php qui reccupère une variable mysql au format yyyy-mm-dd vers une date litérale en Français JoursDeLaSemaineEnLettre Jour MoisEnLettre Année.
ex: 2008-01-09 vers Mercredi 9 janvier 2008
 
Mon herbergeur mutualisé refuse setlocale.
 
En fait je bloque surtout pour le jour de la semaine le reste je vois comment faire.
 
Si quelqu'un à une idée.
 
Merci

mood
Publicité
Posté le 09-01-2008 à 22:49:28  profilanswer
 

n°1668639
bricocoman
j'aime les modos
Posté le 10-01-2008 à 00:16:31  profilanswer
 

google is your friend :o

 

http://www.google.fr/search?hl=fr& [...] cher&meta=

 

et tu trouves ça
http://www.commentcamarche.net/for [...] n-francais


Message édité par bricocoman le 10-01-2008 à 00:17:07
n°1668681
fredko
Posté le 10-01-2008 à 08:57:01  profilanswer
 

La méthode des str_replace sur les jours en anglais je trouve ca un peu bourin comme solution et ca rend la fonction bancale le jour ou je tombe sur un server qui est en set_local autre qu'anglais.
 
Idéalement je cherchais une solution avec un tableau et une fonction qui trouverait le numéro du jour de la semaine d'une date donnée...

n°1668683
flo850
moi je
Posté le 10-01-2008 à 09:19:33  profilanswer
 

Code :
  1. $ts = strtotime($date);
  2. $t_jour = array("","lundi","mardi",,"mercredi","jeudi","vendredi","samedi","dimanche" );
  3. $jour = $t_jour[date('N',$ts)];


et puis tu fais pareil avec les mois et date('n');
http://fr.php.net/date


Message édité par flo850 le 10-01-2008 à 09:20:14

---------------

n°1668705
the_bigboo
Posté le 10-01-2008 à 10:16:07  profilanswer
 

Je l'ai fait pour un de mes projets , légerement différemment de flo850 :

Code :
  1. $days = array('Mon' => 'Lundi' , 'Tue' => 'Mardi' , 'Wed' => 'Mercredi' , 'Thu' => 'Jeudi' , 'Fri' => 'Vendredi' , 'Sat' => 'Samedi' , 'Sun' => 'Dimanche' ) ;
  2.  $months = array( 1 => 'Janvier' , 2 => 'Février' , 3 => 'Mars' , 4 => 'Avril' , 5 => 'Mai' , 6 => 'Juin' , 7 => 'Juillet' , 8 => 'Aout' , 9 => 'Septembre' , 10 => 'Octobre' , 11 => 'Novembre' , 12 => 'Décembre' ) ;
  3. $date = $days[date("D" )].' '.intval( date("d" ) ).' '.$months[intval( date("m" ) )].' '.date("Y" ) ;

n°1668712
flo850
moi je
Posté le 10-01-2008 à 10:37:19  profilanswer
 

il vaut mieux fonctionner avec les numéro de jour, plutot que els libellé qui peuvent changer suivant le reglage du "locale" sur le serveru


---------------

n°1668717
fredko
Posté le 10-01-2008 à 10:51:50  profilanswer
 

Merci flo ca marche nickel, juste une virgule en trop dans la déclaration du tableau :p

n°1668719
flo850
moi je
Posté le 10-01-2008 à 10:53:19  profilanswer
 

c'etait pour voir si tu suivais :d


---------------

n°1668732
fredko
Posté le 10-01-2008 à 11:10:00  profilanswer
 

Arghh en fait ca marche que sur mon local et pas chez l'hebergeur. :-(
 
En débuguant j'ai partout pareil sauf là ou j'ai vide comme resultat...
$jour = $t_jour[date('N',$ts)];
 

n°1668735
flo850
moi je
Posté le 10-01-2008 à 11:14:25  profilanswer
 

il a quelle version de php ?


---------------

mood
Publicité
Posté le 10-01-2008 à 11:14:25  profilanswer
 

n°1668736
fredko
Posté le 10-01-2008 à 11:15:00  profilanswer
 

$ts="1198537200";
$res=date('N',$ts)
 
$res vaut 2 sur mon local et N chez l'herbergeur...

n°1668741
fredko
Posté le 10-01-2008 à 11:18:54  profilanswer
 

Herbergeur : 4.4.7
Mon Local : 5.2.4

n°1668742
flo850
moi je
Posté le 10-01-2008 à 11:19:40  profilanswer
 

regarde avec date('w') alors ( date('N' est pour php 5.1 et plus )  
 
w   Jour de la semaine au format numérique   0 (pour dimanche) à 6 (pour samedi)


---------------

n°1668748
fredko
Posté le 10-01-2008 à 11:23:34  profilanswer
 

Donc ce qui nous donne finalement :
$t_jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi" );
$ljour = $t_jour[date('w',$ts)];
 
Encore merci flo


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Date 2008-01-09 vers Mercredi 9 janvier 2008 ?

 

Sujets relatifs
variables > include vers includeConvertir date anglaise en francaise
Compteur de visite journaliére, fonctions de date en sqlÉlection du nerd 2008: finale
Élection du nerd 2008: second tour[MySQL] Export tables d'une BDD vers une autre
Élection du nerd 2008: premier tourAppel en Javascript avec paramètres vers Php
Election du nerd de l'année 2008: candidatures[C# / XML] Validation XML d'une date sous .Net 1.1
Plus de sujets relatifs à : Date 2008-01-09 vers Mercredi 9 janvier 2008 ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR