2013-08-29 23 views
2

我試圖用一種不同於英語的語言在php中獲取一天的名稱。我將區域設置更改爲setlocale(LC_ALL, 'nl_NL');(返回true),但日期仍以英文顯示。後來我發現,你應該使用strftime()它的工作,但只是返回所設置的語言當前時間,和我想要循環通過一些預先定義的日子,所以輸出將這是不是今天的另一種語言在php的日期/月份的名稱

Vrijdag 30奧古斯

Zaterdag 31個奧古斯

Zondag 9月1日

從當前時間戳中減去/添加天數也不是我想要的選項。

+1

小心LC_ALL',有'LC_TIME',這是你真正需要的。這,和[這個問題已被問]之前(http://stackoverflow.com/questions/8744952/php-how-to-format-a-given-datetime-object-considering-localegetdefault) –

+0

嘗試像'setlocale( LC_ALL,'荷蘭人');'它適用於我。但'nl_NL'不起作用 – Bora

回答

2

每當你需要根據區域來操縱日期/時間郵票,你應該使用的strftime

該編碼也改爲UTF-8

http://php.net/manual/en/function.strftime.php

例如:

<?php 
header('Content-Type: text/html; charset=UTF-8'); 

$myDate = "Feb 21, 2013"; 

$locale = 'fr_FR.utf8'; 
setlocale(LC_ALL, $locale); 
echo strftime('%d %B %Y', strtotime($myDate)); 

$locale = 'en_US.utf8'; 
setlocale(LC_ALL, $locale); 
echo strftime('%d %B %Y', strtotime($myDate)); 
?> 
相關問題