mysql常见时间函数, 获取日期对应的年、月、日、星期、周、季度、时、分、秒函数、加减、日期都有
作者:mmseoamin日期:2023-12-18

 获取日期对应的年、月、日、星期、季度、时、分、秒函数、日期为当年的第几天函数都有

1、NOW(),用于获取当前日期和时间函数

select now() 

返回:2023-05-18 10:58:06

2、CURDATE(),用于获取当前日期,同CURRENT_DATE()

select curdate() 

返回:2023-05-18

3、CURTIME(),用于获取当前时间,同CURRENT_TIME()

select curtime() 

返回:17:17:34

4、CURRENT_TIMESTAMP(),用于获取当前日期和时间函数now() 

select CURRENT_TIMESTAMP() 

返回:2023-05-18 17:17:39

5、DATE()函数,用于提取时间字段的日期,

select date('2023-05-18 10:58:59') ;

返回:2023-05-18

6、YEAR()函数,用于提取时间字段的年,,返回的格式为"YYYY"

select year('2023-05-18 10:58:59') 

返回:2023

7、MONTH()函数,用于提取时间字段的月,返回的格式为"mm",若月份前有0会忽略

select month('2023-05-18 10:58:59') 

select MONTHNAME('2023-05-18 17:17:34');

返回:5、May

8、DAY()函数,用于提取时间字段的日期,,返回的格式为"dd",若日期前有0会忽略

select day('2023-05-18 10:58:59') 

返回:18

9、TIME()函数,用于提取时间字段的时间,,返回的格式为"HH:ii:ss"

select time('2023-05-18 10:58:59') 

返回:10:58:59

10、HOUR()函数,用于提取时间字段的小时,,返回的格式为"HH",若小时前有0会忽略,如08则返回8

select hour('2023-05-18 10:58:59')

返回:10

11、MINUTE()函数,用于提取时间字段的分钟,返回的格式为"ii",若分钟前有0会忽略,如08则返回8

select minute('2023-05-18 10:58:59') 

返回:58

12、SECOND()函数,用于提取时间字段的秒,返回的格式为"ss",若秒前有0会忽略,如08则返回8

select HOUR('2023-05-18 10:58:59') 

返回:59

13、UNIX_TIMESTAMP()函数,获取当前时间戳,还可以将时间字段转换成时间戳

select unix_timestamp()

返回:当前时间的时间戳

select unix_timestamp('2023-05-18 10:58:59') 

返回:1684378739

时间格式化函数

DATE_FORMAT()和TIME_FORMAT()功能相同

select date_format('2023-05-18 10:58:59','%Y-%m-%d %H:%i:%s') 

返回:2023-05-18 10:58:59

select date_format('2023-05-18 10:58:59','%Y-%m-%d') 

返回:2023-05-18

14 :获取日期对应的第几周

select week('2023-05-18 17:17:34');

返回:20

15 获取日期对应的季度

select quarter('2022-07-11 17:17:34');

返回:3

16 获取日期为当年的第几天

select DAYOFYEAR('2023-01-18 17:17:34');

返回:18

17 获取日期对应的星期

select DAYNAME('2023-05-18 17:17:34');

select WEEKDAY('2023-05-18 10:58:59')(0表示星期一,1表示星期二,以此类推)

返回 :Thursday、3

18、获取日期是当月的第几天

select DAYOFMONTH('2023-05-18 10:58:59')

返回 :18

19、获取时间对应的秒

select TIME_TO_SEC('01:58:59')

返回 :7139

19、日期加N天

 SELECT ADDDATE('2023-05-18 10:58:59',2)

返回:2023-05-20 10:58:59

20:计算两个时间差

 SELECT DATEDIFF('2023-05-31 10:58:59','2023-05-18 10:58:59')

返回 13

20: 日期减去N天

 SELECT SUBDATE('2023-05-18 10:58:59',2)

返回:2023-05-16 10:58:59

21: --获取当前日期在本周的周一

select subdate(curdate(),date_format(curdate(),'%w')-1) ; 

返回:2023-05-15

22:--获取当前日期在本周的周日  

select subdate(curdate(),date_format(curdate(),'%w')-7);

返回:2023-05-21