MySQL 內建函數
Unix 時間戳 → 日期時間
FROM_UNIXTIME(unix_timestamp[, format])
-- 範例
SELECT FROM_UNIXTIME(1156219870);
-- 結果:2006-11-21 12:31:10
-- 指定格式
SELECT FROM_UNIXTIME(1156219870, '%Y-%m-%d %H:%i:%s');
日期時間 → Unix 時間戳
UNIX_TIMESTAMP([date])
-- 範例
SELECT UNIX_TIMESTAMP('2006-11-04 12:23:00');
-- 結果:1162623780
-- 當前時間戳
SELECT UNIX_TIMESTAMP(); -- 等同 UNIX_TIMESTAMP(NOW())
實戰範例:查詢當天記錄
-- 使用 FROM_UNIXTIME + DATE_FORMAT
SELECT * FROM message
WHERE DATE_FORMAT(FROM_UNIXTIME(chattime), '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
ORDER BY id DESC;
PHP 對應函數
| 操作 | MySQL | PHP |
| 時間戳 → 日期 | FROM_UNIXTIME() | date('Y-m-d H:i:s', $ts) |
| 日期 → 時間戳 | UNIX_TIMESTAMP() | strtotime('2010-03-24 08:15:42') |
效能與型別建議