Zend Date给我零,为什么?

时间:2010-09-30 11:11:37

标签: php zend-framework datetime zend-date

日期更多问题。

基本上我正在尝试使用Zend的一些日期时间值来填充表。我正在尝试填充的列的数据类型是“datetime”。但是,无论我尝试哪个常量,列总是填充零。我试过Zend_Date::ISO_8601Zend_Date::DATETIMEZend_Date::now()无济于事。请帮助。

以下是代码:

           if(!$exists){
                $date_time = Zend_Date::DATETIME;
                /*
                 * Create the new site record
                 */
                $site_row = $site_table->createRow();
                //if(isset($n_r['id']))    $row->id  = $n_r['id'];
                $site_row->name         = $n_r['name'];
                $site_row->active       = 1;

                $site_id = $site_table->total() + 1;
                $address_id = $address_table->total() + 1;

                $site_row->id       = $site_id;
                $site_row->address_id       = $address_id;

                /*
                 * Create the address record to go with it
                 */
                $address_row = $address_table->createRow();
                $address_row->postcode = $n_r['postcode'];
                $address_row->address_line1 = $n_r['name'];
                $address_row->start_date = $date_time;

                $address_row->id = $address_id;
                $address_row->save();
                $array[] = $site_row->toArray();
                $site_row->save();

                /*
                 * Create the new site2address record to go with it
                 */
                $site2address_row = $site2address_table->createRow();
                $site2address_row->site_id = $site_id;
                $site2address_row->address_id = $address_id;
                $site2address_row->start_date = $date_time;
            }else{
                $array[] = $exists;
            }

2 个答案:

答案 0 :(得分:1)

mySQL期望DATETIME列的输入为

YYYY-MM-DD HH:MM:SS

独立于您正在使用的语言环境。我无法看到Zend常数,你可能需要自己格式化。

答案 1 :(得分:0)

你可以使用像NOW()这样的mysql函数来获得更方便的方法。如果您使用的是mysql代码,贝尔可能会为您工作。

  $address_row->start_date = new Zend_Db_Expr('NOW()');