我的输入日期格式是'%m-%d-%Y'(例如:12/12/2012)和我执行的查询
"Insert into employeedetails(FirstName,LastName,JobTitle,StartedDate,Salary,CompanyName) values ('"+fname+"','"+lname+"','"+job+"',STR_TO_DATE('"+date+"', '%m-%d-%Y'),'"+salary+"','"+company+"')";
执行查询时会抛出有关格式错误的错误
当我以这种格式(2012-12-12)手动插入日期时,它正在工作,所以我需要从12/12/2012到2012-12-12的转换
答案 0 :(得分:1)
使用 DATE_FORMAT
以下脚本使用DATE_FORMAT()函数显示不同的格式。 now()
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
Insert into employeedetails(FirstName,LastName,JobTitle,StartedDate,Salary,CompanyName) values ('"+fname+"','"+lname+"','"+job+"',DATE_FORMAT(NOW(), '%m-%d-%Y'),'"+salary+"','"+company+"')";
答案 1 :(得分:0)
您必须考虑表格的StartedDate
字段的类型来格式化输入的数据
然后使用DATE
,DATETIME
,TIMESTAMP
The DATE, DATETIME, and TIMESTAMP Types
使用上面列出的DATE_FORMAT
日期和时间函数,然后区分字段类型的正确格式
DATE_FORMAT($datetoformat,'%Y-%m-%d'); // for date format
DATE_FORMAT($datetoformat,'YYYY-MM-DD HH:MM:SS'); // datetime format
答案 2 :(得分:0)
据我所知,你说你的输入日期是
12/12/2012
但是你给了
'%m-%d-%Y'
到STR_TO_DATE。这对我来说不太合理。
你不应该给
'%m/%d/%Y'
到STR_TO_DATE?
答案 3 :(得分:-1)
"Insert into employeedetails(FirstName,LastName,JobTitle,StartedDate,Salary,CompanyName) values
('".$fname."','".$lname."','".$job."','".date('d/m/Y')."','".$salary."','".$company."')";