无法以有效格式PHP转换日期

时间:2015-10-05 11:20:28

标签: php jquery date

我正在创建一个用户输入日期并发出请求的应用程序。在服务器端,我验证用户是否输入了有效日期。但问题出在哪里是PHP没有转换一些日期用户进入。例如 如果用户使用jquery datetimpicker选择13/10/15并打印它,

print_r(date('Y-m-d',strtotime($this->request->post['delivery_date'])));

及其展示

1970-01-01

所以我试着检查是否有错误。为此,我尝试了

$date = date_parse($this->request->post['delivery_date']);
print_r($date);

它显示错误

[error_count] => 1
[errors] => Array
        (
            [0] => Unexpected character
        )

它适用于其他日期但不适用于某些日期。我该怎么办?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

正斜杠(/)表示美国M/D/Y格式,我们的日历中没有第13个月。

print_r(date('Y-m-d',strtotime("10/13/15")));

应该是好的。或者使用DateTime::createFromFormat之类的

$date = DateTime::createFromFormat('d/m/y', '13/10/15');
echo $date->format('Y-m-d'); // 2015-10-13

答案 1 :(得分:0)

   $str = '24/12/2013';
   $date = DateTime::createFromFormat('d/m/Y', $str);
   echo $date->format('Y-m-d');