2
$model->datetime
是d-m-Y H:i:s
。Yii格式textField日期時間型號
<?php echo $form->textField($model,'datetime'); ?>
我想輸入的值只是d-m-Y,我該如何格式化它?
$model->datetime
是d-m-Y H:i:s
。Yii格式textField日期時間型號
<?php echo $form->textField($model,'datetime'); ?>
我想輸入的值只是d-m-Y,我該如何格式化它?
一種選擇是將日期轉換爲人類可讀的格式以顯示它,然後在保存之前回到數據庫所需的格式。您可以編輯/創建模型中的afterFind()
方法將日期轉換爲人類可讀的格式,像這樣:
public function afterFind()
{
$newDate = DateTime::createFromFormat('d-m-Y H:i:s', $this->datetime);
$this->datetime = $newDate->format('d-m-Y');
return parent::afterFind();
}
而你又通過編輯/保存創建模型的beforeSave()
方法之前,例如像:
public function beforeSave()
{
$newDate = DateTime::createFromFormat('d-m-Y', $this->datetime);
$this->datetime = $newDate->format('d-m-Y H:i:s');
return parent::beforeSave();
}
請注意,當您保存時,上述示例中的小時,分鍾和秒將始終爲0。您還需要進行一些驗證,以確保您的用戶輸入也是正確的d-m-Y格式,否則日期轉換將不起作用。
*固定錯字newdate-> newDate
謝謝,幫了我很多! –
記住'DateTime :: createFromFormat()'可從PHP 5.3.x – GusDeCooL