date('F Y', strtotime('2013-05-00T00:00:00'));
会返回值'April 2013'
,但我希望它会返回'May 2013'
。
问题是date()
将日期字符串解释为仍然是4月,还是格式字符串?我试过'M Y'
,仍然给了我'Apr 2013'
。还有其他选择吗?
答案 0 :(得分:3)
日期适用于时间戳,而不是日期的文本表示
如果您将0更改为1表示某一天(从而获得有效日期开始)并使用strtotime
date('F Y', strtotime('2013-05-01T00:00:00'));
然后它会起作用
答案 1 :(得分:2)
PHP将当月0日解释为上个月的最后一天。
当月的有效值为01-31
echo date('d F Y', mktime(0, 0, 0, 5, 0, 2013)); //30 April 2013
echo date('d F Y', mktime(0, 0, 0, 5, 1, 2013)); // 01 May 2013
答案 2 :(得分:0)
date('F Y', strtotime('2013-05-00T00:00:00'));
0
不是有效的开始日期。您必须将其分配给1
。然后它将按预期工作。
date('F Y', strtotime('2013-05-01T00:00:00'));