-1

PHPを使用してMySQLデータベースから日時を取得しています。

mysql では、日時は次のようになります。

「2004-11-03 06:29:48」

データベースから日時を取得するコードの行は次のようになります。

$epochTime = strtotime($row[8]);

Php の strtotime 関数は、この時間を間違ったエポック時間に変換します:

1099461600

それは正しくありません。http://www.epochconverter.com/を使用してこれを元に戻すと、mysql に元々あった時刻が失われていることがわかります。

2004 年 11 月 3 日水曜日 06:00:00 GMT

mysql から日時に一致する特異性を持つ正確なエポック時間を取得するにはどうすればよいですか?

編集:

mysql が日付のみを返していることを発見しました (時間なし):

2004/11/03

これを使用して時間を強制的に戻そうとしました:

select DATE_FORMAT(`FieldDateTime`,'%Y-%m-%d %k:%I:%s') from table where id=1;

しかし、これもうまくいきませんでした。引き続き日付のみを返します (時間なし)。

あっ!私はそれを考え出した。配列で間違ったフィールドを指定していました:

$epochTime = strtotime($row[8]);

になるはずだった:

$epochTime = strtotime($row[9]);

それ$row[8]もフォーマットされた日付フィールドであることがわかり、混乱を招きました。助けてくれてありがとう!

4

1 に答える 1

3

あなたは試すことができます:

SELECT UNIX_TIMESTAMP(`timestamp_column_name`) AS `timestamp`;

次にPHPで:

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

これは MySQL と一致しますか?

于 2012-05-31T17:57:08.960 に答える