Yii2 rules datetime格式化验证
原创
©著作权归作者所有:来自51CTO博客作者小龙在山东的原创作品,请联系作者获取转载授权,否则将追究法律责任
rules使用datetime
平常数据库使用datetime
这种数据格式,一般也在model
的rules
里也定义好:
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