我正在为我的网站编写PHP表单。 HTML端要求用户输入以MM / DD / YYYY格式输入的日期。当该字符串发送到PHP时,以下代码将其更改为MySQL可以识别的形式

$date = $_POST['date'];
$sqldate = date('Y-m-d', strtotime($date));


但是,当那个日期输入我的MySQL数据库时,它输入为1970-01-01,我不知道为什么。

注意:如果我回显$ sqldate我得到错误的使用未定义的常量sqldate-C:/ MYDIRECTORY中假定为'sqldate'

最佳答案

这个怎么样?

//build a date
$date = date_parse_from_format("m/d/Y", $_POST["date"]);
//output the bits
$sqldate = "$date[year]-$date[month]-$date[day]";


Unix时间戳是自1970年1月1日以来的秒数,因此您对strtotime()的调用返回0。

10-04 23:27