0

ストレートな答えを探しているのですが、なぜか答えが出ません。日付/時刻をmysqlに保存する最良の方法は何だろうと思っていましたか?

タイムゾーンによっても更新されるため、mysqlのタイムスタンプが良いことを調査しました。

timestampしたがって、mysql のように列名datatypeをタイムスタンプに設定しましたが、現在の日付/時刻をそれに格納するための最適な構文は何ですか?

"INSERT INTO table(timestamp) VALUES(now())" //or use timestamp()? or is there such thing?

?

助けてください、ありがとう!

4

2 に答える 2

0

datetimeテーブルでデータ型を使用して、それを次のNOW()ように保存することができますYYYY-MM-DD HHHH:MM:SS

于 2012-08-01T03:16:31.497 に答える
0

いくつかの考慮事項を次に示します。

  • 列タイプを に設定して、BIGINT64 ビットのタイムスタンプを保存できるようにします
  • PHPtime()関数、またはMySQLのUNIX_TIMESTAMP()関数を使用して挿入できます
  • 列に 以外の名前を付けますtimestamp。これは許可された単語です1前のセクションを参照してください が、MySQL の型でもあります。

時刻を MySQL に Unix タイムスタンプとして保存すると、UTC で保存されるため、タイムゾーンの変換が非常に簡単になります。64 ビット環境では、PHP は 219,250,468 年までの日付を処理できます。

これらのクエリはどちらも同じです。

INSERT INTO `table` (`time`) VALUES(UNIX_TIMESTAMP());
// or
$time = time();
INSERT INTO `table` (`time`) VALUES($time);

次に、PHP で表示します。

SELECT `time` from `table` WHERE `id` = 1;
echo date('Y-m-d H:i:s e', $row['time']); // 2012-07-31 23:59:59 America/Los_Angeles

PHP で設定されているタイムゾーンは、PHPdate_default_timezone_set()で日付を出力するときに使用されるタイムゾーンになります。

于 2012-08-01T03:36:03.367 に答える