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 に答える