我需要输入日期和时间(以字符串形式输入)到我的数据库中,但没有变化(保留为日期的00%和00:00:00)。我知道我应该使用DateTime :: createFromFormat(),但我不知道如何去做。请耐心等待并向我解释我应该怎么做以及每一步中发生了什么,如果我想稍后从数据库中返回日期,我将如何进行呢?我正在使用$date
和$starttime
,$endtime
。
答案 0 :(得分:1)
插入时,使用STR_TO_DATE
将字符串日期转换为Date
或DATETIME
,格式为:
INSERT INTO TABLE1(date, startTime, endtime)
VALUES (STR_TO_DATE('$date','%d/%m/%Y'),
STR_TO_DATE('$starttime','%d/%m/%Y a%h:%i:%s'),
STR_TO_DATE('$endtime','%d/%m/%Y a%h:%i:%s'));
同样在检索过程中使用DATE_FORMAT
将所需格式的字符串转换为:
SELECT DATE_FORMAT(date, '%d/%m/%Y') AS formatter_date,
DATE_FORMAT(starttime,'%d/%m/%Y a%h:%i:%s') AS formatted_startTime
DATE_FORMAT(endtime,'%d/%m/%Y a%h:%i:%s') AS formatted_endTime
FROM TABLE1;
如果您需要进一步解释,请告诉我。