在我的實體中,我有兩個字段,一個類型DateTime和其他類型的時間。從字符串在Symfony2中設置日期時間和時間
我試圖做到這一點:
$time = "05:45";
$date = "01-09-2015"
$entity = new Entity();
$entity->setDate(new \DateTime($date));
$entity->setTime($time);
在這兩種情況下,Symfony的告訴我,該代碼與格式問題。
我也試過:
->setDate(new Datetime($date));
->setDate(DateTime::createFromFormat($date, 'd-m-Y));
->setTime(strtotime($time));
始終具有相同的結果。
如果有人能幫助我,我會很感激。
感謝
修訂
現在,我試圖
$date = strtotime($date);
$time = strtotime($time);
$entity->setDate(date("d-m-Y", $date));
$entity->setTime(date("H:i",$time));
而且Symfony的告訴我說:
錯誤:調用一個成員函數的格式()在非-object
in vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php at line 53 -
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
return ($value !== null)
? $value->format($platform->getTimeFormatString()) : null;
}
/**
我也試過這樣:
$dateObject = new DateTime();
$date = $dateObject->format('d-m-Y');
$time = $dateObject->format('H:i');
$entity->setDate($date);
$entity->setTime($time);
而且symfony的告訴我說:
Attempted to call method "format" on class "Symfony\Component\Validator\Constraints\DateTime". On line "$date = $dateObject->format('Y-m-d');"
感謝您的幫助
更新 - 解決
最後,昨天解決了問題em,使用這個:
$entity->new Entity();
$entity->setDate(\DateTime::createFromFormat('d-m-Y',$date));
$entity->setTime(\DateTime::createFromFormat('H:i',$time));
謝謝!
你能複製粘貼Symfony的錯誤信息嗎? – Blacksad
我出去了。三個小時後,我要回家了,我會把錯誤代碼。謝謝。 – jekeyeke
我使用更改的結果更新了帖子。 – jekeyeke