一、MySQL中當前時間的獲取
SELECT NOW();
NOW()是MySQL內置的函數,用於獲取當前系統時間。
在MySQL中還有其他獲取當前時間的函數,如CURDATE()、CURTIME()和SYSDATE(),它們用於獲取當前日期、當前時間和當前系統日期時間。
二、使用CURRENT_TIMESTAMP替代NOW()
SELECT CURRENT_TIMESTAMP;
CURRENT_TIMESTAMP的功能與NOW()類似,也可以獲取當前系統時間,但是更加靈活,可以用作列默認值和更新列值。
CURRENT_TIMESTAMP的一個常用場景是在創建表時設置時間戳字段的默認值,例如:
CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content` varchar(255) NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上面的表創建語句中,created_at字段的默認值為當前時間,updated_at字段的默認值為當前時間,並且在更新記錄時自動更新為當前時間。
三、使用DATE_FORMAT格式化時間
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
DATE_FORMAT函數用于格式化日期時間,其中第一個參數是要格式化的日期時間,第二個參數是格式化字符串。
常用的格式化字符串包括:
- %Y:四位數字表示的年份
- %m:表示月份,範圍為00~12
- %d:表示日期,範圍為00~31
- %H:表示小時,範圍為00~23
- %i:表示分鐘,範圍為00~59
- %s:表示秒數,範圍為00~59
通過使用不同的格式化字符串,我們可以將日期時間按照不同的格式輸出。
四、使用UNIX_TIMESTAMP將日期時間轉換為時間戳
SELECT UNIX_TIMESTAMP(NOW());
UNIX_TIMESTAMP函數用於將日期時間轉換為Unix時間戳,即從1970年1月1日00:00:00以來經過的秒數。
通過將日期時間轉換為Unix時間戳,我們可以進行更精確的時間計算,例如計算兩個日期時間之間的差值。
五、使用TIMESTAMPDIFF計算兩個日期時間之間的差值
SELECT TIMESTAMPDIFF(SECOND, '2022-01-01 00:00:00', NOW());
TIMESTAMPDIFF函數用於計算兩個日期時間之間的差值,其中第一個參數是時間單位,第二個參數是開始時間,第三個參數是結束時間。
常用的時間單位包括:
- SECOND:秒數
- MINUTE:分鐘數
- HOUR:小時數
- DAY:天數
- WEEK:周數
- MONTH:月數
- YEAR:年數
通過使用TIMESTAMPDIFF函數,我們可以計算兩個日期時間之間相差的秒數、分鐘數、小時數等等。
六、使用DATE_ADD和DATE_SUB計算日期時間的加減
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);
DATE_ADD和DATE_SUB函數用於計算日期時間的加減,其中第一個參數是要加減的日期時間,第二個參數是加減的時間間隔。
常用的時間間隔包括:
- YEAR:年
- QUARTER:季度
- MONTH:月
- WEEK:周
- DAY:天
- HOUR:小時
- MINUTE:分鐘
- SECOND:秒
通過使用DATE_ADD和DATE_SUB函數,我們可以計算日期時間的加減,例如獲取昨天的日期、獲取一個小時前的時間等等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/290897.html