IM传递的startDate结束的结束日期作为GET请求参数的方法, 这里他们得到解析,如:PHP日期时间,解析字符串日期失败
$startDate=$request->query->get('start');
$endDate=$request->query->get('end');
$logger->info('startdate is :'.$startDate.', endDate is : '.$endDate.'');
$start=new \DateTime($startDate);
$end=new \DateTime($endDate);
当我登录这两个参数,它们可能是
startdate is: Wed Jan 12 2011 00:00:00 GMT 0100 (CET)
startDate is: Sat Jan 12 2013 00:00:00 GMT 0100 (CET)
到目前为止好,但如果我登录从字符串实例化的DateTime's上述返回
DateTime Object ([date] => 0100-01-12 00:00:00 [timezone_type] => 2 [timezone] => GMT)
DateTime Object ([date] => 0100-01-15 00:00:00 [timezone_type] => 2 [timezone] => GMT)
你可以看到,DateTime不代表相同的日期
我可以从这些字符串中生成一个有效的DateTime吗?
更新:
我tryed使用createFromFormat
像
$startDate=$request->query->get('start');
$endDate=$request->query->get('end');
$start=new \DateTime::createFromFormat('D M d Y h:i:s e+O (T)',$startDate);
$end=new \DateTime::createFromFormat('D M d Y h:i:s e+O (T)',$endDate);
但导致异常:
FatalErrorException: Parse: syntax error, unexpected 'createFromFormat' (T_STRING), expecting variable (T_VARIABLE) or '$' in
我也tryed:
$start=new \DateTime(\DateTime::createFromFormat('D M d Y h:i:s e+O (T)',$startDate));
$end=new \DateTime(\DateTime::createFromFormat('D M d Y h:i:s e+O (T)',$endDate));
但是,从现在(2014年1月21日12时28分57秒)创建日期新的日期
我只是不得到它的权利。
任何帮助,在此先感谢!
只是为了文档,总是修剪你的时间戳。我使用'DateTime :: createFromFormat()'时,最后有一个空格,并且出现错误。 –