2010-09-30 2 views
0

Другие проблемы с датами.Дата Zend, дающая мне нули, почему?

В основном я пытаюсь заполнить таблицу некоторыми значениями даты и времени от Zend. Тип данных столбца, который я пытаюсь заполнить, это «datetime». Однако независимо от того, какая константа я пытаюсь использовать столбец, всегда заполняется нулями. Я пробовал Zend_Date::ISO_8601, Zend_Date::DATETIME, Zend_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; 
      } 
+0

Просьба указать код. –

ответ

1

MySql ожидает ввода для DATETIME колонн быть

YYYY-MM-DD HH:MM:SS 

не зависит от языка, который вы используете. Я не могу видеть константу Zend для этого, вам может потребоваться отформатировать ее самостоятельно.

+0

как бы я это сделал? – Fortisimo

+0

@ Тунджи вот пример: http://www.eatmybusiness.com/food/2009/01/31/how-to-get-zend-date-in-sql-timestamp-format-eg-mysql-yyyy- mm-dd-hhmmss/90/(второй, получая дату * от * ZF) –

+0

Спасибо за вашу помощь. Я ценю это. – Fortisimo

0

вы можете использовать функцию mysql, такую ​​как NOW() для более удобного способа. если вы находитесь в mysql, то код может работать для вас.

$address_row->start_date = new Zend_Db_Expr('NOW()'); 
Смежные вопросы