Bonjour,

Dans ma base de donnée j'ai des dates aux format texte, tirer de un fichier .txt

Exemple de date :
- Février 2008
- 30 mai 2008
- 2 février 2007
- 7 septembre 2007
....

Pour chacune de ses dates, je veux créer une date format timestamp via mktime(). La date est accéder via :$data['gamReleaseFr']

Donc pour se faire, voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
$mois_fr = Array(0 => '', 1 => 'janvier',
 2 => 'février',
 3 => 'mars',
 4 => 'avril',
 5 => 'mai',
 6 => 'juin',
 7 => 'juillet',
 8 => 'aout',
 9 => 'septembre',
 10 => 'octobre',
 11 => 'novembre',
 12 => 'decembre');
 
$laDateTime = strtolower($data['gamReleaseFr']);
$laDateTime = explode(" ",$laDateTime);
if(count($laDateTime)==3)
{
   $leMois=$laDateTime[1];
   $chiffreMois = array_search($leMois, $mois_fr); 
   $gamReleaseTime = mktime(0, 0, 0, $chiffreMois, $laDateTime[0], $laDateTime[2]);
}
 
if(count($laDateTime)==2)
{
   $leMois=$laDateTime[0];
   $chiffreMois = array_search($leMois, $mois_fr); 
   $gamReleaseTime = mktime(0, 0, 0, $chiffreMois, $laDateTime[1], $laDateTime[2]);
}
Or pour les dates comportant des accents, le timestamp obtenu est mauvais,
voici ce que donne les timestamp pour ces exemples.
Le 2ieme résultat est via la fonction :date('Y-m-d',$gamReleaseTime);

- Février 2008 : 2007-12-01 : 1196467200
- 30 mai 2008 : 2008-05-30 : 1212105600
- 2 février 2007 : 2006-12-02 : 1165017600
- 7 septembre 2007 : 2007-09-07 : 1189123200



Vous savez pourquoi ?

Merci