2016-06-20 5 views
0

Как я могу echocurrent date + 2 month s` в голландском формате?Дата эха в голландском формате

Я попытался следующие:

<?php 
setlocale(LC_TIME, 'NL_nl'); 
echo strftime('%e %B %Y'(' +2 month')); 
?> 

Когда я запускаю этот код я получаю ошибку на моей странице. Как я могу исправить это и запустить эхо-дату в голландском формате?

+0

https://forums.modx.com/thread/71553/how-to-change-date-notation-to-other- локальный язык и http://stackoverflow.com/questions/23421532/change-date-format-into-dutch-language И https://www.phphulp.nl/php/script/overig/datum-in-het- nederlands/239/ –

+0

Ничего с '+ month'. У меня код работает без '+ месяца'. Сочетание этого не работает. – John

+0

Просто синтаксическая ошибка. try 'strftime ('% e% B% Y', strtotime ('+ 2 month'))' –

ответ

1

Я должен был написать основной словарь для него, но вот это:

function dutch_strtotime($datetime) { 
    $days = array(
     "maandag" => "Monday", 
     "dinsdag" => "Tuesday", 
     "woensdag" => "Wednesday", 
     "donderdag" => "Thursday", 
     "vrijdag" => "Friday", 
     "zaterdag" => "Saturday", 
     "zondag" => "Sunday" 
    ); 

    $months = array(
     "januari" => "January", 
     "februari" => "February", 
     "maart"  => "March", 
     "april"  => "April", 
     "mei"  => "May", 
     "juni"  => "June", 
     "juli"  => "July", 
     "augustus" => "August", 
     "september" => "September", 
     "oktober" => "October", 
     "november" => "November", 
     "december" => "December" 
    ); 

    $array = explode(" ", $datetime); 
    $array[0] = $days[strtolower($array[0])]; 
    $array[2] = $months[strtolower($array[2])]; 
    return strtotime(implode(" ", $array)); 
} 
$date = "woensdag 22 oktober 2014 08:41:42"; 
echo date("l d-m-Y H:i:s", dutch_strtotime($date)) . "<br />"; 
echo date("d-m-Y", dutch_strtotime($date)); 

http://phpfiddle.org/main/code/k51z-9n6j

0
$timestamp = time(); 
setlocale(LC_ALL, 'nl_NL'); 
strftime('%A, %B %d, %Y', $timestamp); 

Подробнее о STRFTIME click here.

+0

Хорошо, теперь мне нужно сделать «+ 2 месяца», где мне нужно написать это? – John

0

месяц не правильно проверить возможность с этими функциями http://php.net/manual/en/function.strftime.php

<?php 
setlocale(LC_TIME, 'NL_nl'); 
echo strtotime(date("Y-m-d") . " +2 month"); 
?> 

также переменная $monthsfunction dutch_strtotime и echo strftime('%e %B %Y'(' +2 month')); проверить его

+0

Я получаю: Линия: 3, Тип ошибки: 4 Сообщение: синтаксическая ошибка, неожиданная '(' – John

+1

попробуйте эту zoro

+0

, работающий в моем случае – zoro

0

Используйте StrToTime, чтобы получить временную метку на дату через два месяца. https://secure.php.net/manual/en/function.strtotime.php

Затем поставить метку времени в качестве второго аргумента для STRFTIME

<?php 
    setlocale(LC_TIME, 'nl_NL'); 
    $timestamp = strtotime("+2 months"); 
    echo strftime('%e %B %Y', $timestamp); 
?> 
Смежные вопросы