我想将日期保存到数据库中但是当我提交表单时将日期保存为1970-01-01

时间:2014-11-10 06:42:10

标签: php codeigniter

这是用于存储日期的模型。

public function add_client() {

        $sqlDaye = "YYYY-MM-DD";

        $data = array(

            'name' => $this->input->post('client_name'),
            'industry_id' => $this->input->post('industry'),
            'user_id' => $this->input->post('users'),
            'status_id' => $this->input->post('status'),
            'startdate' => date("Y-m-d H:i:s", strtotime(str_replace('/', '-', $sqlDaye))),
            'enddate' => date("Y-m-d H:i:s", strtotime(str_replace('/', '-', $sqlDaye))),
            'rates' => $this->input->post('rates')
        );
        $this->db->insert('clients', $data);
    }

2 个答案:

答案 0 :(得分:2)

 $sqlDaye = "YYYY-MM-DD";

YYYY-MM-DD是有效的 格式 ,而不是有效的 日期 。并且您正在运行strtotime,这会导致无效的时间戳,并且您将获得返回的默认值

<强>的strtotime

  

该函数期望给出一个包含英文日期格式的字符串,并尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数),相对于给定的时间戳。现在,或者现在没有提供当前时间。

您必须在日期而不是格式上运行它。喜欢试试这个

echo date("Y-m-d H:i:s", strtotime('2014-10-10'));
                                    ^

答案 1 :(得分:0)

$sqlDaye = "YYYY-MM-DD";

是一个字符串。

您无法在日期中输入字符串。 '2014-11-10'是约会。