MySQL日期和时间函数
常用函数:
函 数 | 功 能 |
---|---|
CURDATE() | 获取当前日期 |
CURTIME() | 获取当前时间 |
NOW() | 获取当前的日期和时间 |
UNIX_TIMESTAMP(date) | 获取日期的UNIX时间戳 |
FROM_UNIXTIME() | 获取UNIX时间戳的日期值 |
WEEK(date) | 返回日期date为一年中的第几天 |
YEAR(date) | 返回日期date的年份 |
HOUR(time) | 返回时间time的小时值 |
MINUTE(time) | 返回时间time的分钟值 |
MONTHNAME(date) | 返回时间date的月份 |
获取当前日期和时间函数
获取当前日期和时间
NOW(),CURRENT_TIME(),LOCALTIME(),SYSYDATE()
获取当前日期
CURDATE()和CURRENT_DATE()
获取当前时间
CURTIME()和CURRENT_TIME()函数
通过各种方式显示日期和时间
通过UNIX方式显示日期和时间
select now() 'now()',UNIX_TIMESTAMP(now()) 'UNIX_TIMESTAMP(now())',FROM_UNIXTIME(UNIX_TIMESTAMP(now())) 'FROM_UNIXTIME(UNIX_TIMESTAMP(now()))';
通过UTC方式显示日期和时间
select now() 'now()',utc_date() 'utc_date(',utc_time() 'utc_time()';
获取日期和时间各部分值
select now() 'now()',year(now()) 'year(now())',quarter(now()) 'quarter(now())',month(now()) 'month(now())',week() 'week(now())',dayofmonth() 'dayofmonth(now())',hour(now()) 'hour(now())',minute() 'minute(now())',second(now()) 'second(now())' \G;
月份函数
MONTH():返回当前月份数值
MONTHNAME():返回当前月份的英文名
星期函数
DAYNAME():返回日期和时间中星期的英文名
DAYOFWEEK():返回日期和时间中星期是星期几,返回值范围为1~7,1表示星期日,2表示星期一,以此类推。
WEEKDAY():返回日期和时间中星期是星期几,返回值范围为0~6,0表示星期一,1表示星期二,以此类推。
天函数
DAYOFMONTH():返回日期属于当前月第几天
DAYOFYEAR():返回日期属于当前年中第几天
获取指定值的EXTRACT()函数
语法形式:
EXTRACT(type of date)
select now() 'now',extract(year from now()) 'year',extract(month from now()) 'month',extract(day from now()) 'day',extract(hour from now()) 'hour',extract(minute from now()) 'minute',extract(second from now()) 'second' \G;
计算日期和时间函数
与默认日期和时间操作
TO_DAYS(date):计算日期参数date和默认日期和时间(0000年1月1日)之间相隔的天数。
FROM_DAYS(number):计算从默认日期和时间开始经过number天后的日期和时间。
DATEDIFF():获取两个指定日期之间相隔的天数。
与指定日期和时间操作
ADDDATE(date,n):日期参数date加上n天后的日期
SUBDATE(date,n):日期参数date减去n天前的日期
ADDDATE(date,interval exp type):date加上一段时间后的时间
SUBDATE(date,interval exp type):date减去一段时间后的时间
select CURDATE() 'CURDATE',ADDDATE(CURDATE(),interval '2,3' year_month) '2year3month later',SUBDATE(CURDATE(),interval '2,3' year_month) '2year3month before' \G;
ADDDATE(time,n):time加上n秒后的时间
SUBDATE(time,n):time减去n秒后的时间