Ik heb de volgende functie gemaakt, om de datum die in een database opgeslagen is, in de vorm 2007-01-31 (Y-m-d), om te zetten naar een string, dus 31 Januari 2007 bijvoorbeeld.
Zo ziet de functie er uit:
Het probleem zit hem in het parsen van de (textuele) maand. Ik heb dus eerst de array $monthdates aangemaakt, die een numerieke maand naar een textuele maand omzet.
Vervolgens neem ik de de $ymd datum variabele die met de functie meekomt, en explode ik die in de array $articledate. Zo is $articledate[1] de numerieke maand.
Mijn idee was dus, dat als je $monthdates[$articledate[1]] doet, je de textuele maand krijgt, maar dat werkt niet... Het werkt wel als je gewoon $monthdates[01] doet (dan krijg je dus januari)....
Kan dit niet, zoals ik het probeer te doen, of is er een andere reden / oplossing voor dit probleem?
Alvast bedankt!
Zo ziet de functie er uit:
PHP:
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
30
| <?php function dateToNormal($ymd,$display) { $monthdates = array( 01 => 'january', 02 => 'february', 03 => 'march', 04 => 'april', 05 => 'may', 06 => 'june', 07 => 'july', 08 => 'august', 09 => 'september', 10 => 'october', 11 => 'november', 12 => 'december' ); $articledate = explode("-",$ymd); $selectedmonth = substr($ymd,5,2); if ($display == 1) { // January 1, 2007 return $monthdates[$articledate[1]].' '.$articledate[2].', '.$articledate[0]; } elseif ($display == 2) { // 1 january 2007 return $articledate[2].' '.$monthdates[01].' '.$articledate[0]; } } dateToNormal($article['date'],1); // Dit geeft: 31, 2007. Dus niet january 31, 2007 ?> |
Het probleem zit hem in het parsen van de (textuele) maand. Ik heb dus eerst de array $monthdates aangemaakt, die een numerieke maand naar een textuele maand omzet.
Vervolgens neem ik de de $ymd datum variabele die met de functie meekomt, en explode ik die in de array $articledate. Zo is $articledate[1] de numerieke maand.
Mijn idee was dus, dat als je $monthdates[$articledate[1]] doet, je de textuele maand krijgt, maar dat werkt niet... Het werkt wel als je gewoon $monthdates[01] doet (dan krijg je dus januari)....
Kan dit niet, zoals ik het probeer te doen, of is er een andere reden / oplossing voor dit probleem?
Alvast bedankt!