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 :
Or pour les dates comportant des accents, le timestamp obtenu est mauvais,
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]); }
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
Partager