Изменить формат даты на голландский язык

У меня есть формат даты на английском языке, и я хочу изменить его на голландский язык.

мой код:

$date_arr = explode('-', $eventPublishDate); $datetime= mktime(0, 0, 0, $date_arr[1], $date_arr[2], $date_arr[0]); $enterted_date = date("jS FY",$datetime); $newDate = date("jS FY", strtotime($eventPublishDate)); 

Я попытался под кодом, но не смог найти суффикс [th, nd …] даты

 if ( setlocale(LC_ALL, 'nld_nld' ) || setlocale( LC_ALL, 'nl_NL' ) ) { $newDate = strftime("%d %B %Y", mktime(0, 0, 0, $date_arr[1], $date_arr[2], $date_arr[0])); } 

Мне нужен вывод: 15-й januari 2014

помогите мне разобраться в проблеме.

Related of "Изменить формат даты на голландский язык"

С встроенным модулем:

 $fmt = new IntlDateFormatter( 'nl_NL', IntlDateFormatter::GREGORIAN, IntlDateFormatter::NONE ); echo $fmt->format(mktime(null, null, null, 1, 15, 2014)); // output: 15 januari 2014 

Хорошо, если это не работает:

 setlocale(LC_TIME, 'NL_nl'); setlocale(LC_ALL, 'nl_NL'); echo strftime('%a %e %B %Y',time()); 

Попробуйте передать выход на английский язык этой старой, но полезной функции Эриком Ян. Он вернет простые замены …

 /** * @author http://netters.nl/nederlandse-datum-in-php */ function nlDate($datum){ /* // AM of PM doen we niet aan $parameters = str_replace("A", "", $parameters); $parameters = str_replace("a", "", $parameters); $datum = date($parameters); */ // Vervang de maand, klein $datum = str_replace("january", "januari", $datum); $datum = str_replace("february", "februari", $datum); $datum = str_replace("march", "maart", $datum); $datum = str_replace("april", "april", $datum); $datum = str_replace("may", "mei", $datum); $datum = str_replace("june", "juni", $datum); $datum = str_replace("july", "juli", $datum); $datum = str_replace("august", "augustus", $datum); $datum = str_replace("september", "september", $datum); $datum = str_replace("october", "oktober", $datum); $datum = str_replace("november", "november", $datum); $datum = str_replace("december", "december", $datum); // Vervang de maand, hoofdletters $datum = str_replace("January", "Januari", $datum); $datum = str_replace("February", "Februari", $datum); $datum = str_replace("March", "Maart", $datum); $datum = str_replace("April", "April", $datum); $datum = str_replace("May", "Mei", $datum); $datum = str_replace("June", "Juni", $datum); $datum = str_replace("July", "Juli", $datum); $datum = str_replace("August", "Augustus", $datum); $datum = str_replace("September", "September", $datum); $datum = str_replace("October", "Oktober", $datum); $datum = str_replace("November", "November", $datum); $datum = str_replace("December", "December", $datum); // Vervang de maand, kort $datum = str_replace("Jan", "Jan", $datum); $datum = str_replace("Feb", "Feb", $datum); $datum = str_replace("Mar", "Maa", $datum); $datum = str_replace("Apr", "Apr", $datum); $datum = str_replace("May", "Mei", $datum); $datum = str_replace("Jun", "Jun", $datum); $datum = str_replace("Jul", "Jul", $datum); $datum = str_replace("Aug", "Aug", $datum); $datum = str_replace("Sep", "Sep", $datum); $datum = str_replace("Oct", "Ok", $datum); $datum = str_replace("Nov", "Nov", $datum); $datum = str_replace("Dec", "Dec", $datum); // Vervang de dag, klein $datum = str_replace("monday", "maandag", $datum); $datum = str_replace("tuesday", "dinsdag", $datum); $datum = str_replace("wednesday", "woensdag", $datum); $datum = str_replace("thursday", "donderdag", $datum); $datum = str_replace("friday", "vrijdag", $datum); $datum = str_replace("saturday", "zaterdag", $datum); $datum = str_replace("sunday", "zondag", $datum); // Vervang de dag, hoofdletters $datum = str_replace("Monday", "Maandag", $datum); $datum = str_replace("Tuesday", "Dinsdag", $datum); $datum = str_replace("Wednesday", "Woensdag", $datum); $datum = str_replace("Thursday", "Donderdag", $datum); $datum = str_replace("Friday", "Vrijdag", $datum); $datum = str_replace("Saturday", "Zaterdag", $datum); $datum = str_replace("Sunday", "Zondag", $datum); // Vervang de verkorting van de dag, hoofdletters $datum = str_replace("Mon", "Maa", $datum); $datum = str_replace("Tue", "Din", $datum); $datum = str_replace("Wed", "Woe", $datum); $datum = str_replace("Thu", "Don", $datum); $datum = str_replace("Fri", "Vri", $datum); $datum = str_replace("Sat", "Zat", $datum); $datum = str_replace("Sun", "Zon", $datum); return $datum; } 

Создать новый массив

 $lang = array(); $lang['en'] = ['january','februari','march','april','may','june','july','august','september','october','november','december']; $lang['nl'] = ['januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december']; 

Замените его на голландский формат

 ucfirst(str_replace($lang['en'], $lang['nl'], strtolower($datum))); 

попробуйте изменить эту строку:

 $enterted_date = date("jS FY",strtotime($datetime)); 

надеюсь, это может вам помочь.

вы можете создать массив месяцев и дней на своем языке и использовать цикл foreach для замены значений:

 $arr = array('Maa', 'Din','Woe','Don', ...); $date = date('DM Y'); 

а потом:

 foreach($arr as $k => $V){ $date = str_replace($k, $v, $date); } echo $date; 

Это было второе решение для моего дела (первым был @gontrollez). Устанавливать локаль для меня совсем не сработало, и это решение с массивом не кажется мне очень элегантным.