Mois accentué et conversion timestamp
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:
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