Date time in Nederlands weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Java Developer Onderzoeksinstituut Architec

Bedrijfsomschrijving Als Senior Java Developer kom je te werken bij een internationaal gerenommeerd onderzoeksinstituut. Dagelijks is dit instituut verantwoordelijk voor de juiste samenwerking, toegankelijkheid en communicatie voor circa 9000 interne gebruikers. In een team van elf ontwikkelaars ben je als Senior Java Developer verantwoordelijk voor het ontwikkelen van functionele ontwerpen naar technische oplossingen. Deze projecten bestaan o.a. projecten zoals het implementeren van Elastic Search en het koppelen van CMS. Ook fungeer je als vraagbaak voor je collega’s op het gebied van backend softwareontwikkeling. Daarnaast denk je graag mee op het gebied van architectuur qua mogelijke oplossingen en innovatie. Momenteel zijn

Bekijk vacature »

Nick debaerdemaeker

nick debaerdemaeker

13/10/2020 22:25:27
Quote Anchor link
Hoi,

voor onze wordpress website in het Nederlands heb ik een php geschreven met custom velden.
Alleen komen de maanden er momenteel uit in het Engels.

Ik weet dat dit met strftime mogelijk moet zijn, maar op de plaatsen waar ik dit heb geprobeerd werkt het niet. Iemand die me kan helpen met dit ingewikkeld stukje code ?
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
<?php
    $start_date
= get_field('datum', false, false);
    $start_date = new DateTime($start_date);
    $end_date = get_field('eind_datum', false, false);
    $end_date = new DateTime($end_date);
    $start_month = $start_date->format('F');
    $end_month = $end_date->format('F');
?>
                
<?php if ( get_field('eind_datum') and get_field('datum') ): ?>
    <span class='datum'>
    <?php
        if ($start_month == $end_month) {
          // output July 12-13, 2020
        echo  $start_date->format ('j'); ?>
-<?php echo  $end_date->format ('j F Y');
        }
else {
          // output July 12 - August 3, 2020
        echo  $start_date->format('j F'); ?>
-<?php echo  $end_date->format ('j F Y');
        }

    ?>

    </span>
<?php elseif ( empty(get_field('eind_datum')) and (empty(get_field('datum')) === false)): ?>
    <span class='datum'><?php echo the_field('datum'); ?></span>
Gewijzigd op 13/10/2020 22:45:44 door - Ariën -
 
PHP hulp

PHP hulp

28/10/2020 06:52:47
 
- Ariën -
Beheerder

- Ariën -

13/10/2020 22:46:33
Quote Anchor link
Niet moeilijk doen en je configuratie aanpassen met een locale:

https://www.php.net/manual/en/function.setlocale.php
Of gebruik dit:
https://www.php.net/manual/en/class.intldateformatter.php
Gewijzigd op 13/10/2020 22:47:57 door - Ariën -
 
Nick debaerdemaeker

nick debaerdemaeker

17/10/2020 14:32:02
Quote Anchor link
Hoi Ariën, ik ben verder gaan puzzelen en ben met een werkbaardere code op de proppen gekomen, alleen blijf ik in de rats zitten met de unix time stamp, alle data worden weergegeven als 1-1 January 1970.

Mocht je me kunnen helpen, dan graag. met de php net manual kom ik er helaas zelf maar niet achter.
De waarde in de sql database is opgeslagen in het "Y-m-d H:i:s" formaat en op de site komt dit er dan als "j F Y" uit.

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
<?php  
$start_date
= get_field('datum');
$start_time = date ("Y-m-d H:i:s", strtotime($start_date));
$start_year = date('Y', $start_time);
$start_month = date('F', $start_time);
$start_day = date('j', $start_time);

$end_date = get_field ('eind_datum');
$end_time = date ("Y-m-d H:i:s", strtotime($end_date));
$end_year = date('Y', $end_time);
$end_month = date('F', $end_time);
$end_day = date('j', $end_time);

if (get_field('eind_datum') and get_field('datum') and ($end_month == $start_month)) {
  $display_date = $start_day.' - '.$end_day.' '.$end_month.' '.$end_year;
}

elseif (get_field('eind_datum') and get_field('datum') and ($end_month != $start_month)) {
  $display_date = $start_day.' '.$start_month.' - '.$end_day.' '.$end_month.', '.$end_year;
}

else {
  $display_date = $start_day.' '.$start_month.' '.$start_year;
}

    
echo $display_date;
     ?>
 
- Ariën -
Beheerder

- Ariën -

17/10/2020 15:34:29
Quote Anchor link
Date() ondersteunt geen locales.
Kijk eens naar de DateTime class of strftime().
 
Ivo P

Ivo P

17/10/2020 17:38:07
Quote Anchor link
de 2e parameter van date() is het aantal sec. sinds 1970

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$start_date
= get_field('datum');
$start_time = date ("Y-m-d H:i:s", strtotime($start_date));
$start_year = date('Y', $start_time);
?>


$start_time wordt dus iets als '2020-10-17 17:35:00'

Maar die waarde gebruik je weer om start_year te vullen.
en met de senddatum doe je dat ook

ik zou sowieso DateTime gebruiken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$datum
= new DateTime(get_field('datum'));
?>

en dan waar je het nodig hebt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo 'het jaar is: ' . $datum->format('Y'); ?>

of welk deel van de datum je maar nodig hebt.
 



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.