在php代码中取得当前日期时间再插入数据库
默认情况下,php解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时
,所以date(“y-m-d h:i:s”)得出的时间比当前时间少了8个小时。
gmdate(“y-m-d h:i:s”)函数得出的时间是经过与gmt相加减过的,能得到本地时间,但要在
php.ini中用date.timezone这个选项设置时区,但默认是关闭的,而且在部分php版本中无法
正常实现。
一个比较好的实现的方法,手动修正时差,如下:
$timeoffset = 8;echo gmdate(y-m-d h:i:s, mktime() + $timeoffset * 3600) .
;echo gmdate(y-m-d h:i:s, time() + $timeoffset * 3600) .
;echo date(y-m-d h:i:s, mktime() + $timeoffset * 3600) .
;echo date(y-m-d h:i:s, time() + $timeoffset * 3600) .
;
都输出如下格式:2007-11-24 17:41:58
根据上述的知识,很快,我顺利插入了数据,代码如下:
public function actionadd() { $news_model = new news(); $news_model->title = 测试的第6条新闻标题; $news_model->pubdate = date(y-m-d h:i:s, time() + 8 * 3600); $news_model->author = yuanpengfei; if ($news_model->save()) { echo success save; } else { echo failed save; }}
