我必须显示从我的数据库中选择的日期,日期始终以英语显示,我的网站是bilangue,EN / DE。
我的PHP代码
setlocale(LC_ALL, "de_DE.utf8");
...
$myDate='2016-06-17'; //example
echo strftime(date_format(date_create($myDate), "l, j F Y "))
但这不起作用,我总是在EN Friday, 17 June 2016
更新:我可以使用
strftime("%B %e, %G",date_timestamp_get(date_create($myDate)))
我得到了Juni 17, 2016
,但后来我失去了当天的名字,所以我还要使用date_format
答案 0 :(得分:3)
以下代码给出了预期结果:
setlocale(LC_ALL, "de_DE.utf8");
$myDate='2016-06-17'; //example
echo strftime("%A, %e %B %Y", date_create($myDate)->getTimestamp());
根据文档,strftime参数是格式字符串和时间戳。您提供的第二个参数不是时间戳。
答案 1 :(得分:0)
主要有两个问题:
strftime()函数需要将Unix时间戳作为第二个参数,但date_format()返回一个字符串(可以返回带有时间戳的字符串,但它不会因为{ {1}})。您还使用strftime()错误:第一个参数是格式,而不是时间戳。此外,您使用l, j F Y
个对象作为代理而没有任何好处。
尝试更简单的方法:
DateTime