[PHP - Mysql] Insérer date dans bdd

Résolu/Fermé
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 - 26 nov. 2009 à 17:20
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 - 28 nov. 2009 à 13:51
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 ;)
A voir également:

6 réponses

Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
27 nov. 2009 à 12:22
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
Pico51 Messages postés 716 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 16 juillet 2019 69
26 nov. 2009 à 17:29
Bonjour,

As-tu essayé d'utiliser la fonction setlocale avant d'utiliser la fonction strftime ?
0
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 1
27 nov. 2009 à 11:47
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
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
27 nov. 2009 à 11:54
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

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

Posez votre question
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 1
27 nov. 2009 à 12:18
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
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 1
28 nov. 2009 à 13:51
Super ça marche ! =)
0