2013-02-25 84 views
2

我想格式化历史日期:1635-11-27 => 1635年11月27日星期二,但我需要它在荷兰语不是英语。 我使用dateTime格式,但该函数不响应set_locale。 Strftime确实对setlocale做出了响应,但只采用了1970年开始的unix时间戳,对吗?格式历史日期(<1970年)国际

回答

-2

为什么你不能str_replace所有“一月”,“二月”,...,“星期一”,“星期二”,...与他们的翻译?

+0

鉴于国际未启用,这是不是一个坏主意实际上:) – 2013-02-25 20:09:39

1

看看到IntlDateFormatterformat()

$formatter = new IntlDateFormatter(<locale>); 
$string = $formatter->format(DateTime object); 
+0

貌似我无法使用等级:Class“IntlDateFormatter '找不到(php 5.3.5,配置了'--disable-intl') – Overbeeke 2013-02-25 09:38:31

+0

这会减少很多可用的选项。对于你的set_locale问题,检查你的操作系统中是否安装了正确的语言包。例如,对于ES_ES,我必须在ubuntu上安装'language-pack-es'(正如你可以理解的不是一个特定的PHP软件包,但是ICU表需要) – Maks3w 2013-02-25 09:50:12

+0

strftime在荷兰语中与set_locale一起工作正常。 – Overbeeke 2013-02-25 11:25:07