YII如何用数字添加时间?

时间:2014-12-20 05:49:28

标签: yii

我尝试用变量中的数字添加时间(字段estimasi =整数)。

我用:

$model->estimasi = $estim;
$model->jamplgestim = new CDbExpression('NOW()'+$estim); 

但得到错误。有人帮帮我吗?感谢。

2 个答案:

答案 0 :(得分:0)

使用CDbExpression('NOW()')表示您希望将此时间插入到sql查询中。 Butit不会这样工作。
如果您需要一些时间点,请说3小时这样做:

$time = date("H:i:s", strtotime('+3 hours')); // this works only for time for date too
$date_time = date("Y-m-d H:i:s", strtotime('+3 hours')); //  this works only for time and date
$sql = 'Select * from <table> WHERE <time_field>  < "'. $time . '"';

答案 1 :(得分:0)

使用new CDbExpression('NOW()')时,在构建相应的查询时会执行__toString()方法。哪个将输出构造函数参数。 http://www.yiiframework.com/doc/api/1.1/CDbExpression#__toString-detail

将显示为.... jamplgestim = NOW() ...。所以在你的情况下它会输出为... jamplgestim = NOW()12345,这会给你一个无效的sql。

如果需要在当前时间添加一些整数值,最好插入所需的完整时间戳。例如。

$model->estimasi = $estim;
$model->jamplgestim = date('Y-m-d H:i:s', time() + $estim);