UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date)
パラメータなしで呼び出された場合、Unix タイムスタンプ (「1970-01-01 00:00:00」GMT からの秒数) が符号なし整数として返されます。 UNIX_TIMESTAMP() が日付を指定して呼び出された場合、GMT '1970-01-01 00:00:00' からの秒数としてパラメータ値が返されます。 date には、DATE 文字列、DATETIME 文字列、TIMESTAMP、または YYMMDD または YYYMMDD 形式の現地時刻番号を指定できます。
mysql> SELECT UNIX_TIMESTAMP(); -> 882226357 mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00'); -> 875996580
UNIX_TIMESTAMP が TIMESTAMP 列で使用される場合、関数は暗黙的な「文字列から Unix タイムスタンプへ」の変換を行わずに、内部タイムスタンプ値を直接返します。 UNIX_TIMESTAMP() にオーバーフロー日付を渡すと、0 が返されますが、基本的な範囲チェックのみが実行されることに注意してください (1970 年から 2037 年までの年、01 から 12 までの月、01 から 31 日までの日)。
PHP でのタイムスタンプと時刻の変換の例:
PHP コード
$timestamp = 1210003200; $datetime = date('Y-m-d H:i:s', $timestamp); echo "该时间戳代表的时间:", $datetime, "<br>\n"; echo "从此时间重新转回时间戳:", strtotime($datetime), "<br>\n";
MySQL でのタイムスタンプの変換の例:
SQL コード
select from_unixtime(1210003200) datetime, unix_timestamp(from_unixtime(1210003200)) timestamp;