0

我正在使用此代码将此“29-08-2013 12:27:04”日期时间转换为“2013-08-29 12:27:04”格式

$insert_dts = date('Y-m-d H:i:s',strtotime($this->input->post('insert_dts')));

但问题是;每当该值变为空时,它都会导致“1970-01-01 00:00:00”。

由于我使用$insert_dts进入数据库,因此在 mysql 数据库的日期时间字段中输入了这个值(1970-01-01 00:00:00)而不是“0000-00-00 00:00:00”。

我知道这可以通过 if else 检查是否$this->input->post('insert_dts')为空来解决。

是否有任何其他解决方案而不检查每个?

4

3 回答 3

1

使用触发器BEFORE INSERT可能是一种更清洁的方式。

http://dev.mysql.com/doc/refman/5.0/fr/create-trigger.html

不确定您是否认为它与“检查每个”不同。

于 2013-08-29T07:18:56.667 回答
0
$time = strtotime($this->input->post('insert_dts'));
if($time == 0)
$insert_dts = date('Y-m-d H:i:s',);
于 2013-08-29T07:18:46.523 回答
0

很简单:

$insert_dts = $this->input->post('insert_dts') ? date('Y-m-d H:i:s', strtotime($this->input->post('insert_dts'))) : '0000-00-00 00:00:00';
于 2013-08-29T07:20:44.440 回答