數據庫中時間戳概念:
把時間t轉換成從 1970-01-01 00:00 開始到時間t所經過的秒數。這個數值就是時間t對應的時間戳。
由於是數值方便比較和運算
1.日期轉時間戳
-- 轉十位 select UNIX_TIMESTAMP('2018-12-25 12:25:00');
結果:1545711900
-- 轉十三位 SELECT REPLACE(unix_timestamp(current_timestamp(3)),'.','');
結果:1545711900021
2.時間戳轉日期:
FROM_UNIXTIME(unix_timestamp) --unix_timestamp為時間戳
-- 十位轉 select FROM_UNIXTIME(1545711900);
結果:2018-12-25 12:25:00
有些應用生成的時間戳是比這個多出三位,是毫秒表示,如果要轉換,需要先將最后三位去掉(標准的10位數字,如果是13位的話可以以除以千的方式)
-- 十三位轉 select FROM_UNIXTIME(1597536937000/1000);
結果:2020-08-16 08:15:37.0000