您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql如何獲取當前日期前后時間,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下mysql如何獲取當前日期前后時間吧。
select subdate(curdate(),date_format(curdate(),'%w') - 1)//獲取當前日期在本周的周一
select subdate(curdate(),date_format(curdate(),'%w') - 7)//獲取當前日期在本周的周日
這兩句語句是mysql用來取當前日期的周一或周日的一個方法,那么這句如何運作的呢?
%w是以數字的形式來表示周中的天數(0=Sunday,1=Monday,...,6=Saturday),0為周日,6為周六,跟我們一般的認知,一周是從周一開始的并不一樣。
date_format是一個日期轉換函數
date_format(curdate(),'%w') 表示當前日期到上周周日共有幾天的間隔,即當前日期減去上周周日的日期=天數(例:curdate()為2011-01-11,那么上周周日為 2011-01-09,兩者相減為2)所以若單獨輸出這一句:selectdate_format(curdate(),'%w')結果就是2
在mysqlapi里對于subdate函數是這樣解釋的:
SELECTSUBDATE(NOW(),1)AS'Yesterday',
SUBDATE(NOW(),INTERVAL-1DAY)AS'Tomorrow';
正值為昨天,負值為明天,當前時間的起點,就是當前時間的上周周日
subdate函數就是用當前時間減去2天,得到上周周日的時間為2011-01-09
那么如果運行selectsubdate(curdate(),date_format(curdate(),'%w')-2)這句,就表示用當前時間-(2-2),即-0,得到的結果就是當前日期本身了。
如果把%w換成%d呢
%d是用兩位數字來表示月中的天數(00,01,...,31)
直接輸出的結果就應該是11,表示當前日期在一個月內是第幾天
selectdate_format('2011-01-11','%d')
放到開始的語句里就表示用當前時間減去11,結果為2010-12-31
selectsubdate('2011-01-11',date_format('2011-01-11','%d'))
mysql 數據庫中根據當前系統時間,取前后幾秒 幾分鐘 幾小時 幾天
取當前時間:
select current_timestamp;
輸出:2016-06-16 16:12:52
select now();
輸出:2016-06-16 16:12:52
取當前時間的前一分鐘:
select SUBDATE(now(),interval 60 second);
輸出:2016-06-16 16:11:52
取當前時間的下一分鐘:
select ADDDATE(now(),interval 60 second);
輸出:2016-06-16 16:13:52
通過變化上面的單位。可以取前后 分鐘,小時,天的時間
取前一分鐘的時間:
select SUBDATE(now(),interval 1 minute);
輸出:2016-06-16 16:16:38
取前一小時的時間:
select SUBDATE(now(),interval 1 hour);
輸出:2016-06-16 15:17:38
取前一天的時間:
select SUBDATE(now(),interval 1 day);
輸出:2016-06-15 16:17:38
###########################
取后一分鐘的時間:
select ADDDATE(now(),interval 1 minute);
輸出:2016-06-16 16:17:38
取后一小時的時間:
select ADDDATE(now(),interval 1 hour);
輸出:2016-06-16 17:17:38
取后一天的時間:
select ADDDATE(now(),interval 1 day);
輸出:2016-06-17 16:17:38
看完以上關于mysql如何獲取當前日期前后時間,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。