date_default_timezone_set('Asia/Kolkata');
$x ='2016-03-15';
echo date("j M [D] Y",$x);
但是当我运行这段代码就显示错误的输出:1月1日[周四] 1970年如何在PHP中默认设置时区?
,我想等的输出:3月15日[周二] 2015年
请帮帮我,什么是错的在这个代码中。
date_default_timezone_set('Asia/Kolkata');
$x ='2016-03-15';
echo date("j M [D] Y",$x);
但是当我运行这段代码就显示错误的输出:1月1日[周四] 1970年如何在PHP中默认设置时区?
,我想等的输出:3月15日[周二] 2015年
请帮帮我,什么是错的在这个代码中。
的strtotime - 解析任何英文文本的日期时间描述为Unix时间戳
date_default_timezone_set('Asia/Kolkata');
$x ='2016-03-15';
echo date("j M [D] Y",strtotime($x));
这不会提供问题的答案... – cybermonkey
你的问题的标题有误导之嫌,您的时区设置就好了。日期显示不是。
date
预计第二个参数(可选)是Unix时间戳,而不是日期。首先将您的日期转换为unix时间戳。
echo date("j M [D] Y",strtotime($x));
这可以在manual
字串的日期可以看出(字符串$格式[摘要$时间戳=时间()])
您滥用日期函数:第二个参数必须是时间戳,而不是字符串。
参考:http://php.net/manual/en/function.date.php
为了得到一个日期戳,你可以使用mktime或的strtotime功能。
''2016-03-15''不是一个时间戳,你可能有一个PHP提出的警告(如果你已经设置它们显示) –
启用你的PHP警告:'一个非正确形式的数值在第3行遇到# – pes502
我不知道有时区是-46年...每天学习新东西... – Carpetsmoker