1. 程式人生 > 其它 >mysql 前一天 後一天 日期操作 格式化 差值

mysql 前一天 後一天 日期操作 格式化 差值

date_add和date_sub
語法為:date_add(date,interval expr type)、date_sub(date,interval expr type)
其中常用的type的型別有:second、minute、hour、day、month、year等

-- 獲取日期 2020-04-07
curdate()
-- 獲取日期加時間 2020-04-07 23:10:30
now()
-- 獲取明天的日期 2020-04-08
date_add(curdate(),interval 1 day)
--或者
date_sub(curdate(),interval -1 day)
-- 獲取明年的日期 2021-04-07
date_add(curdate(),interval 1 year)
-- 或者
date_sub(curdate(),interval -1 year)

日期的格式化
date_format(date,format)
| 格式   | 描述            |
| ---- | ------------- |
| %Y   | 年,4 位         |
| %y   | 年,2 位         |
| %m   | 月,數值(00-12)   |
| %M   | 月名            |
| %D   | 帶有英文字首的月中的天   |
| %d   | 月的天,數值(00-31) |
| %H   | 小時 (00-23)    |
| %h   | 小時 (01-12)    |
| %i   | 分鐘,數值(00-59)  |
| %S   | 秒(00-59)      |
| %s   | 秒(00-59)      |

-- 格式化當前日期 2020-04-07 23:23:23
date_format(now(),'%Y-%m-%d %H:%i:%s' )

-- 日期的差值
-- 當前時間2020-04-08,差值為-2
SELECT DATEDIFF(NOW(),'2020-04-10') 
-- 當前時間2020-04-08,差值為2
SELECT DATEDIFF(NOW(),'2020-04-06') 

-- 語法為:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
常用的值有:
FRAC_SECOND 毫秒
SECOND      秒
MINUTE      分鐘
HOUR        小時
DAY         天
WEEK        星期
MONTH       月
QUARTER     季度
YEAR        年

-- now()值為 2020-04-08 23:20:20
SELECT TIMESTAMPDIFF(DAY,NOW(),'2020-04-10 23:23:23') 
-- 結果為2,相差兩天,取整數