[PHP - Mysql] Insérer date dans bdd

Résolu
digival Messages postés 209 Statut Membre -  
digival Messages postés 209 Statut Membre -
Bonjour,

Pourquoi ce script ne me retourne pas un truc comme "le Jeudi 26 Novembre 2009" ?!

$JourL = strftime("%A");
$Jour = strftime("%d");
$Mois = strftime("%B");
$Annee = strftime("%Y");
$date = "le " . $JourL . " " . $Jour . " " . $Mois . " " . $Annee;
setlocale ("LC_TIME", "fr");

J'utilise une requête avec, comme valeurs à insérer dans le champ de type Varchar sans autre spécificitées, la variable $date. Le résultat actuel est "le Thursday 26" ?!

Merci ;)
Configuration: Windows Vista
Firefox 3.5.5

6 réponses

  1. Pilow Messages postés 410 Statut Membre 71
     
    Car %m te renvoi de 01 à 12 contrairement a %w qui renvoi de 00 a 06
    Il faut donc decaler ton array de une case :
    $moisfr = array('VIDE','Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');


    EDIT :

    Ou alors faire -1 dans ton calcul :
    $Mois = $moisfr[strftime("%m") - 1];
    1
  2. Pico51 Messages postés 846 Statut Membre 69
     
    Bonjour,

    As-tu essayé d'utiliser la fonction setlocale avant d'utiliser la fonction strftime ?
    0
  3. digival Messages postés 209 Statut Membre 1
     
    oui, j'ai déjà essayé de faire cela, sans succès :

    setlocale ("LC_TIME", "fr");
    $JourL = strftime("%A");
    $Jour = strftime("%d");
    $Mois = strftime("%B");
    $Annee = strftime("%Y");
    $date = "le " . $JourL . " " . $Jour . " " . $Mois . " " . $Annee;
    0
  4. Pilow Messages postés 410 Statut Membre 71
     
    Le problème vient du fait que ce soit en anglais ?

    %A Nom complet du jour de la semaine De Sunday à Saturday

    Essaye avec :

    $jourdate = array('dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi');
    $JourL = $jourdate[strftime("%w")]; 
    

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. digival Messages postés 209 Statut Membre 1
     
    Ok merci ça marche pour les jours,
    seulement j'ai fait la même chose (avec %m) pour les mois et ça me renvoie systématiquement la dernière valeur de l'array (décembre) ?!

    Mon script :
    // INSERTION DATE
    // Conversion en fr
    $jourfr = array('dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi');
    $moisfr = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
    // reconnaissance de l'heure
    $JourL = $jourfr[strftime("%w")];
    $JourN = strftime("%d"); 
    $Mois = $moisfr[strftime("%m")];
    $Annee = strftime("%Y");
    $date = "le " . $JourL . " " . $JourN . " " . $Mois . " " . $Annee;
    0
  7. digival Messages postés 209 Statut Membre 1
     
    Super ça marche ! =)
    0