2015-03-13 14:21:32 6656次浏览 1条回答 0 悬赏 10 金钱

有大神知道 DatePicker 这个组件使用每次更新页面都会将 date 这个字段改为 0000-00-00 还会出现这个错误
DateFormatter::format(): datefmt_format: error calling ::getTimeStamp() on the object

有大神知道原因吗?求解啊

  • 回答于 2015-03-14 05:59 举报

    好像引文要设置初始值吧?在model attribute 声明rules的地方,[['from_date'], 'default', 'value' => null]

    7 条回复
    回复于 2015-03-16 11:08 回复

    还是不对 我在其他页面相同date字段用这个组件的时候就没问题 只有一个页面出了问题 这个字段是后面改的date类型 我想是不是数据库的问题

    回复于 2015-03-17 10:16 回复

    @kkk: 你看看你更新结果不对的时候,数据库中对应字段应该也是0000-00-00,这表明你输入数据库的时候日期格式不对,数据库无法识别。最好把代码,model的定义,数据库数据的定义,DatePicker怎么使用的附上,比较好发现问题。我前两天刚用过这个控件,遇到不少问题。给的例子都多少有问题

    回复于 2015-03-17 11:21 回复

    @WeifengYing: model定义[['book_date'], 'safe'], view<?php echo $form->field($model, 'book_date')->widget(DatePicker::className(),

    [
        'value' => date('Y-M-d', strtotime('+2 days')),
        //'options' => ['placeholder' => '选择开始日期...'],
        //'pluginOptions' => [ 
            // 'format' => 'yyyy-mm-dd', 
            // 'todayHighlight' => true, 
            // 'autoclose'=>true 
        // ]
    ]) ?>
    

    数据库定义的类型是date类型 更新结果是这个0000-00-00

    回复于 2015-03-17 16:01 回复

    @kkk: 你在web页面中悬着日期后显示的是什么样的格式。'value' => date('Y-M-d', strtotime('+2 days')),这句是在Controller中么?

    回复于 2015-03-17 16:01 回复

    @kkk: 你在web页面中悬着日期后显示的是什么样的格式。'value' => date('Y-M-d', strtotime('+2 days')),这句是在Controller中么?

    回复于 2015-03-17 16:16 回复

    @kkk: 我用mysql,只能接受2015-01-12 这样的日期,如果你看看选择日期后对话框里日期格式是不是这样的

    回复于 2015-03-18 15:13 回复

    @WeifengYing: 页面显示的是这种2015年1月1日存的是2015-01-01 用的也是mysql
    'value' => date('Y-M-d', strtotime('+2 days')),这句是在view页面用组件的地方

您需要登录后才可以回答。登录 | 立即注册
kkk
副董事长

kkk

注册时间:2015-03-06
最后登录:2023-06-19
在线时长:87小时58分
  • 粉丝5
  • 金钱31760
  • 威望0
  • 积分32630

热门问题