84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
<?= $form->field($model, 'time')->textInput() ?>
问题一:我的time在数据库里是一个时间戳,我现在想显示的是时间,怎么处理一下?
问题二:我在此日期表单中填入 如 2017-05-13 的字符串,在模型中可以写什么方法将它自动转为时间戳?
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); }