格式化德语减少日期

时间:2012-04-10 15:38:34

标签: php date internationalization

我有一个$ start_date,定义为“今天 - 30天”。当试图将其转换为德语表示法时,日期打印为01. Januar 1970(而非2012年3月10日)我理解这意味着Unix将结果解释为“0”,但我无法弄清楚我做错了什么。

$start_date = date("Y-m-d", strtotime("-30 days"));   
setlocale(LC_TIME, 'de_DE');
$start_date_DE = strftime('%d. %B %Y',$start_date);

1 个答案:

答案 0 :(得分:0)

问题是strftime期望时间戳作为第二个参数,但是你要将一个字符串传递给它(格式为“Y-m-d”)。所以它正在回归UNIX时代(1970年1月1日)。

请改为尝试:

$start_date = strtotime("-30 days");   
setlocale(LC_TIME, 'de_DE');
$start_date_DE = strftime('%d. %B %Y',$start_date);

http://codepad.org/pK9J07Wm