如何在codeigniter中使用date()、timezone()和timestamp()命令



您好。我可以问一下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');

相关内容

  • 没有找到相关文章

最新更新