0

列の日付が日時に設定されたテーブルがあります。私が戻って行から日付を取得すると、時刻ではなく日付のみが返されます。

 $date = $row["date"];

以下のようにフォーマットしようとしましたが、次のエラーが表示されます。

警告: date_format() は、パラメーター 1 が DateTime であると想定し、文字列が指定されています

 $date = date_format($row["date"], 'Y-m-d H:i:s');

全体の値を取得するにはどうすればよいですか?

4

4 に答える 4

2

select ステートメントで、日付を datetime にキャストします。元

SELECT CAST(date AS DATETIME) newDate

そしてそれを次のように取得します

$dateTime = strtotime($row["newDate"]);
于 2013-02-03T05:51:55.237 に答える
2

文字列 $date を正しい型に変換する必要があります。これを正しく行うためにいくつかのことを試す必要がありましたが、これは私のマシンで動作するようになりました:

$thisDate = "2013-02-02 22:17:06"; // example you gave, as a string

$timezone="America/New_York";      // machine was complaining when I didn't specify

$DT = new DateTime($thisDate, new DateTimeZone($timezone)); // this really is a DateTime object

echo $DT->format('Y-m-d H:i');    // you can echo this to the output

$dateString = $DT->format('Y-m-d H:i:s');  // or format it into a string variable
于 2013-02-03T05:52:24.630 に答える
2

試す:

$date = date_format(new DateTime($row['date']), "Y-m-d H:i:s");

また

$date = date('Y-m-d H:i:s', strtotime($row['date']));
于 2013-02-03T05:52:54.130 に答える
0

最初に文字列を日付型に変換する必要があります。その後、date_format() が機能します。以下を試してください。

$date = date_format(date_create($row["date"]), 'Y-m-d H:i:s');

幸運を

于 2013-02-03T06:49:19.233 に答える