Datum in het nederlands

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim

Tim

28/08/2009 12:28:00
Quote Anchor link
Hey allemaal,

Ik haal op mijn blog pagina zo de datum uit de database.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo date("D", strtotime($row["pub_date"]));
?>


Die staat erin als datetime field.

Maar nu krijg ik natuurlijk MON voor Maandag en ik wil graag MAA, DIN, WOE enz enz.

Hoe kan ik dat het beste aanpassen?

Thanks.
Tim
 
PHP hulp

PHP hulp

19/04/2024 14:41:28
 

28/08/2009 12:32:00
Quote Anchor link
Met een array :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$days
= array(
'MON' => 'MA',
'TUE' => 'DI'
// Enz enz..
);

echo $days[date("D", strotime($row['pub_date']))];
[
/code]
 
Tim

Tim

28/08/2009 12:41:00
Quote Anchor link
Nu krijg ik geen tekst meer te zien:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

            $days
= array(
            'MON' => 'MA',
            'TUE' => 'DI',
            'WED' => 'WO',
            'THU' => 'DO',
            'FRI' => 'Vr',
            'SAT' => 'ZA',
            'SUN' => 'ZO'
            );

 echo $days[date("D", strtotime($row['pub_date']))];

?>


Maar ook geen foutmelding.
 
- SanThe -

- SanThe -

28/08/2009 12:49:00
Quote Anchor link
Kijk eens naar de function date().
 
Mark L

Mark L

28/08/2009 12:51:00
Quote Anchor link
Je krijgt niets te zien, omdat 'Mon' en 'Tue' niet in de array staat. date("D") heeft als output 'Mon' en niet 'MON'.
De key in je array is hoofdletter gevoelig.

Edit:

Waarom is de 'r' in Vr (van Vrijdag) lowercase terwijl bij de andere Nederlandse dagen ALLES uppercase is?
Gewijzigd op 01/01/1970 01:00:00 door Mark L
 
Tim

Tim

28/08/2009 12:52:00
Quote Anchor link
Ik ben idd nog niet wakker. De hoofdletters natuurlijk :P

Bedankt!
 
Jesper Diovo

Jesper Diovo

28/08/2009 12:54:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php

/**
 * @author dzjemo
 * @copyright 2009
 */


class DutchDate {
    public $datum;
    private $aTranslateDayShort = array('mon'=>'ma','tue'=>'di','wed'=>'wo','thu'=>'do','fri'=>'vr','sat'=>'za','sun'=>'zo');
    private $aTranslateDayLong  = array('monday'=>'maandag','tuesday'=>'dinsdag','wednesday'=>'woensdag','thursday'=>'donderdag','friday'=>'vrijdag','saturday'=>'zaterdag','sunday'=>'zondag');
    private $aTranslateMonShort = array('jan'=>'jan','feb'=>'feb','mar'=>'mrt','apr'=>'apr','mai'=>'mei','jun'=>'juni','jul'=>'juli','aug'=>'aug','sep'=>'sept','oct'=>'okt','nov'=>'nov','dec'=>'dec');
    private $aTranslateMonLong  = array('january'=>'januari','february'=>'februari','march'=>'maart','april'=>'april','mai'=>'mei','june'=>'juni','july'=>'juli','august'=>'augustus','september'=>'september','october'=>'oktober','november'=>'november','december'=>'december');
    
    public function __construct($datum) {
        $this->datum = strtolower($datum);
        $this->translate();
    }

    
    public function translate() {
        $bDaylong = $bDayshort = $bMonshort = $bMonlong = false;
        
        foreach(array_keys($aTranslateDayLong) as $sDayLong) {
            if(preg_match('_'.$sDayLong.'_', $this->datum)) {
                $this->datum = str_replace(array_keys($aTranslateDayLong),array_values($aTranslateDayLong),$this->datum);
            }
        }

        
        foreach(array_keys($aTranslateDayShort) as $sDayShort) {
            if(preg_match('_'.$sDayShort.'_', $this->datum)) {
                $this->datum = str_replace(array_keys($aTranslateDayShort),array_values($aTranslateDayShort),$this->datum);
            }
        }

        
        foreach(array_keys($aTranslateMonLong) as $sMonLong) {
            if(preg_match('_'.$sMonLong.'_', $this->datum)) {
                $this->datum = str_replace(array_keys($aTranslateDayLong),array_values($aTranslateDayLong),$this->datum);
            }
        }

        
        foreach(array_keys($aTranslateMonShort) as $sMonShort) {
            if(preg_match('_'.$sMonShort.'_', $this->datum)) {
                $this->datum = str_replace(array_keys($aTranslateMonShort),array_values($aTranslateMonShort),$this->datum);
            }
        }
    }

    
    public function get() {
        return $this->datum;
    }
}


$dutchdate = new DutchDate('mon, 03 feb 2009');
echo $dutchdate->get();
?>


Een klasse die ik ooit eens gemaakt heb om dat sneller te laten doen. Echter is het enige dat de output altijd in kleine letters is, ik moet daar nog steeds een keer beter naar kijken, hoe de output in de vorm (kleine en grote letters) kan blijven staan... Het werkt in ieder geval wel stukken sneller als je die klasse gewoon ergens in een bestandje zet dat je telkens include().

Edit: heb 'm een beetje veranderd, hij zoekt nu zelf op wat 'ie moet vertalen.
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.