我正在创建一个用户输入日期并发出请求的应用程序。在服务器端,我验证用户是否输入了有效日期。但问题出在哪里是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
)
它适用于其他日期但不适用于某些日期。我该怎么办?任何帮助将不胜感激。
答案 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');