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()'時,最後有一個空格,並且出現錯誤。 –