在MySQL中UNIX_TIMESTAMP函數是一種非常有用的函數,可以將一個日期時間類型的字段轉化為UNIX時間戳格式。UNIX時間戳是指從1970年1月1日00:00:00(UTC時間)到當前時間(UTC時間)所經過的秒數。
UNIX_TIMESTAMP函數可以用于將MySQL中日期時間類型的字段轉化為UNIX時間戳格式。比如有以下數據表:
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `datetime` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
如果我們要查詢這個表中所有數據的UNIX時間戳,可以使用如下SQL語句:
SELECT UNIX_TIMESTAMP(`datetime`) FROM `test`;
在MySQL中,UNIX_TIMESTAMP函數可以接受一個可選的參數,用于指定輸入的日期時間字符串的格式。如果不指定,那么MySQL會根據當前的日期時間格式設置來解析。
注意,UNIX時間戳是以UTC時間來計算的,這意味著如果您在使用UNIX_TIMESTAMP函數時,MySQL的時區設置與您期望的不一致,那么將會出現時間上的偏移。
舉例如下:
# 設置MySQL時區 SET time_zone='+08:00'; # 插入一條數據 INSERT INTO `test` (`datetime`) VALUES ('2021-06-01 00:00:00'); # 查詢UNIX時間戳 SELECT UNIX_TIMESTAMP(`datetime`) FROM `test`;
以上SQL語句執行后,會得到如下結果:
+-----------------------+ | UNIX_TIMESTAMP('2021-06-01 00:00:00') | +-----------------------+ | 1622486400 | +-----------------------+
可以看到,由于設置了MySQL時區,UNIX時間戳比UTC時間晚8小時(+08:00),所以輸出時間應該增加8個小時。
上一篇鏈接css字體
下一篇java清理css樣式