您好。我可以问一下timestamp()和timezone()命令是如何工作的吗?我试图输入一个日期(8-13-1996),但插入数据库的日期是(1970-01-01)。是timestamp()命令还是timezone()命令?这是我的密码。。
$bday = $this->input->post('mm')+" "+$this->input->post('dd')+" "+$this->input->post('yy');
$new_member_insert_data = array(
'birthday' =>date("Y-m-d", strtotime($bday))
);
$insert = $this->db->insert('users', $new_member_insert_data);
似乎strtotime
无法将字符串转换为时间。它变成了假的。
date("Y-m-d",false)==1970-01-01
date("Y-m-d",0)==1970-01-01
你应该更好地检查它是否可以将字符串转换为时间
$bday = $this->input->post('mm')+" "+$this->input->post('dd')+" "+$this->input->post('yy');
$time=strtotime($bday);
if($time!==false)//insert it if $bday can convert into time
{
$new_member_insert_data = array(
'birthday' =>date("Y-m-d", $time)
);
$insert = $this->db->insert('users', $new_member_insert_data);
}
另外,你转换字符串的方式不对。您使用了+
,它应该是.
以这种方式使用$bday=$this->input->post('mm')."-".$this->input->post('dd')."-".$this->input->post('yy');