我有一个$ 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);
答案 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);