1. 程式人生 > >Yii2 rules datetime格式化驗證

Yii2 rules datetime格式化驗證

rules使用datetime

平常資料庫使用datetime這種資料格式,一般也在modelrules裡也定義好:

public function rules()
{
    return [
        [['create_at'], 'datetime']
    ];
}

那表單提交後怎麼轉換為這種格式呢?一般使用Yii2的formatter,在配置檔案中新增這樣的程式碼:

配置formatter

return [
	'components'=>[
		'formatter'=>[
			'defaultTimeZone'=>'Asia/Shanghai'
, 'dateFormat'=>'yyyy-MM-dd', 'timeFormat'=>'HH:mm:ss', 'datetimeFormat'=>'yyyy-MM-dd HH:mm:ss' ] ] ]

這樣就配置好formatter了。

使用formatter轉換為datetime

現在模型就可以使用預設格式化的datetime了。

$model = new Article();
// 轉換為配置檔案裡datetimeFormat的格式
$model->create_at = Yii::$app->formatter->
asDatetime('now');

參考:https://www.yiiframework.com/doc/guide/2.0/en/output-formatting