我正在将两个字符串从一种日期格式转换为另一种日期格式,但我收到了一些不寻常的回复
我要转换的两个日期是:
1:2002-09-23
2:2010-03-25
每个日期的PHP代码如下:
1:date('d F Y', strtotime((string)$report_display->arr_output_base['Date1']['value']));
2:date("d F Y", strtotime((string)$report_display->arr_input_base['Date2']['value']));
我得到的回复如下:
1:1986年12月31日有时出错,但有时候我会在2002年9月23日这是对的
2:始终是2010年3月25日
答案 0 :(得分:3)
当您知道格式时,为什么要冒风险将其发送到strtotime并且不使用使用确切格式的正确方法?
$date = DateTime::createFromFormat('Y-m-d', '2002-09-23');
echo $date->format('d F Y');
这样就没有猜测一个月是一个月还是一天。无论如何,这总是会返回相同的日期。