1

我需要在我的数据库中输入日期和时间(作为字符串输入),但没有变化(日期保持为 0000-00-00,时间保持为 00:00:00)。我知道我应该使用 DateTime::createFromFormat() 但我不确定如何去做。请耐心等待并向我解释我应该如何去做以及每个步骤中发生了什么,如果我想稍后从数据库中返回日期,我将如何去做?我正在使用 $date$starttime$endtime

4

1 回答 1

1

插入时,用于STR_TO_DATE将您的字符串日期转换为DateDATETIME基于以下格式:

   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;

如果您需要进一步解释,请告诉我。

于 2012-11-07T06:15:53.170 回答