我的Symfony 2.8Symfony2中:如何爲現場的DateTime
我有一個名爲工作表中設置默認值:「Docentes」有日期時間字段「fechaAlta」
我需要的默認值這個領域是「今天」當我添加一個新的記錄
我生成CRUD,使用命令generate:doctrine:crud
在文件「DocentesController.php」的Symfony創建兩個函數:「newAction」和「編itAction「(等等)。無論使用相同的形式,插入在文件夾中的「形式」的文件「DocentesType.php」:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('fechaAlta', 'date')
->add('dni')
#
;
}
我試過兩種解決方案:
之一:在命名的實體文件,「Docentes .PHP」我添加功能:
public function __construct()
{
$this->fechaAlta = new \DateTime();
}
但是當我使用的形式來添加新的記錄,本場‘fechaAlta’顯示在值:01日,01月和2011年不與當前日期。
二:
我編輯的功能buildForm:
->add('fechaAlta', 'date', array(
'data' => new \DateTime()))
##
現在,當我添加一個新的記錄,我又值獲得:01日,本月01和2011年,但是當我編輯一個記錄,Symfony改變我的原始值,例如2016-03-25並設置今天的值!所有我需要的相反!
當我改變: ' - >添加(' fechaAlta」, '日',陣列( 'data'=> new \ DateTime()))'to' - > add('fechaAlta','date',array( 'data'=> new \ DateTime('now ')))'如果有新的記錄,我會獲得今天的日期,但在編輯記錄時仍然是問題。 –
您是否100%確定您的服務器&php.ini中的日期/時間/時區設置是否正確?無論如何,你可以在'newAction'中調用'$ entity-> setFetchAlta(new \ DateTime());''我猜測? – ccKep