php - YII2中 ActiveForm里的field怎么可以输出时间而不是时间戳?
漂亮男人
漂亮男人 2017-05-16 12:57:56
0
1
479

field($model, 'time')->textInput() ?>

问题一:
我的time在数据库里是一个时间戳,我现在想显示的是时间,怎么处理一下?

问题二:
我在此日期表单中填入 如 2017-05-13 的字符串,在模型中可以写什么方法将它自动转为时间戳?

漂亮男人
漂亮男人

reply all (1)
刘奇
class XXX extends \yii\db\ActiveRecord { public function rules() { return [ ...other rules... ['time', function($attr, $params) { if ($this->hasErrors()) return false; $datetime = $this->{$attr}; $time = strtotime($datetime); // 验证时间格式是否正确 if ($time === false) { $this->addError($attr, '时间格式错误.'); return false; } // 将转换为时间戳后的时间赋值给time属性 $this->{$attr} = $time; return true; }], ]; } ...others... /** * 从数据库中 find() 数据后将 time 格式化。 */ public function afterFind() { parent::afterFind(); $this->time = date('Y-m-d', $this->time); }
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!