2012-02-14 86 views
-1

我在数据库中有一个名为date_time的字段,其类型为datetime。 我有一个提交表单需要在date_time字段中输入当前日期和时间。 如何编写我的代码,以便使用当前的datetime插入date_time字段。 以下是我的代码:(我知道我不能叫NOW()这样,但我想证明我想达到的目标)以日期时间格式存储当前日期和时间zend

$qcData = Array(
    "date_time" => NOW(), 
    "note" => $note           
); 

$qcNotes = new App_Model_DbTable_QCNotes(); 
$qcNotes->insert($qcData); 
+0

你想在数据库或php中计算吗? – prodigitalson 2012-02-14 03:00:07

回答

4

它来自文档

26.3.1。当前日期在没有任何参数的情况下,构造实例返回一个使用PHP的time()函数获取UNIX时间戳为 对象的当前本地日期 的默认语言环境中的对象。 确保您的PHP环境具有正确的默认 时区

例26.2。创建当前日期

$date = new Zend_Date(); 

// Output of the current timestamp Feb 13, 2012 10:28:59 PM 
print $date; 
//implement toString() output 2012-02-13 22:30:25 
print $date->toString('YYYY-MM-dd HH:mm:ss'); 
+0

RockyFord我分配了$ date_time = new Zend_Date();但是当我插入它在数据库中显示0000-00-00 00:00:00。我会做更多的调试并回来.. – Micheal 2012-02-14 03:24:44

+0

@ user856753确保你的时区在php.ini中设置正确,你知道大多数Db会为你做这个。在mysql中,例如将一个字段设置为type = timestamp,并且更新CURRENT_TIMESTAMP上的属性将自动为所有更新添加时间戳。 – RockyFord 2012-02-14 03:31:48

+0

是否可能是因为数据库表中的日期时间格式需要与$ date返回不同​​的格式! – Micheal 2012-02-14 04:10:07

4

您可以使用此:这里

Zend_Date::now()->toString('YYYY-MM-dd HH:mm:ss')