一丶获取日期,时间
函数 | 用法 |
CURDATE() CURRENT_DATE() | 返回当前日期,只包含年,月,日(效果相同) |
CURTIME() CURRENT_TIME() | 返回当前时间,只包含时,分,秒(效果相同) |
NOW() / SYSDATE() /CURRENT_TIMESTAMP() LOCALTIME() LOCALTIMESTAMP() | 返回当前系统日期和时间(效果相同) |
UTC_DATE() | 返回UTC(世界标准时间)日期 |
UTC_TIME() | 返回UTC(世界标准时间)时间 |
二丶日期与时间戳的转换
函数 | 用法 |
UNIX_TIMESTAMP() | 以UNIX时间戳的形式返回当前时间, |
UNIX_TIMESTAMP(date) | 将时间date以UNIX时间戳的形式返回 |
FROM_UNIXTIME(time) | 将UNIX时间的时间转换为普通格式的时间 |
三丶获取月份,星期,星期数,天数等
函数 | 用法 |
函数 | 返回具体的日期值 |
YEAR(date) MONTH(date) DAY(date) | 返回具体的日期值 |
HOUR(time) MINUTE(time) SECOND(time) | 返回具体的时间值 |
MONTHNAME(date) | 返回月份名称,如: January,... |
DAYNAME(date) | 返回星期几名称 |
WEEKDAY(date) | 返回周几,注意: 周一是0,周二是1,...,周六是6 |
QUARTER(date) | 返回日期对应的季度,范围1-4 |
WEEK(date) WEEKOFYEAR(date) | 返回一年中的第几周(效果相同) |
DAYOFYEAR(date) | 返回日期是一年中的第几天 |
DAYOFMONTH(date) | 返回日期位于所在月份的第几天 |
DAYOFWEEK(date) | 返回周几,注意: 周日是1,周一是2,...,周六是7 |
四丶日期的操作函数
函数 | 用法 |
EXTRACT (type FROM date) | 返回指定日期中特定的部分,type指定返回的值 |
type取值 | 含义 |
MICROSECOND | 返回毫秒数 |
SECOND | 返回秒数 |
MINUTE | 返回分钟数 |
HOUR | 返回小时数 |
DAY | 返回天数 |
WEEK | 返回日期在一年中的第几个星期 |
MONTH | 返回日期在一年中的第几个月 |
QUARTER | 返回日期在一年中的第几个季度 |
YEAR | 返回日期的年份 |
SECOND_MICROSECOND | 返回秒和毫秒值 |
MINUTE_MICROSECOND | 返回分钟和毫秒值 |
MINUTE_SECOND | 返回分钟和秒值 |
HOUR_MICROSECOND | 返回小时和毫秒值 |
HOUR_SECOND | 返回小时和秒值 |
HOUR_MINUTE | 返回小时和分钟值 |
DAY_MICROSECOND | 返回天和毫秒值 |
DAY_SECOND | 返回天和秒值 |
DAY_MINUTE | 返回天和分钟值 |
DAY_HOUR | 返回天和小时 |
YEAR_MONTH | 返回年和月 |
五丶时间和秒钟的转换
函数 | 用法 |
TIME_TO_SEC(time) | 将time转为为秒并返回结果,转化公式: 小时*3600+分钟*60+秒 |
SEC_TO_TIME(second) | 将second转为为包含小时,分钟和秒的时间 |
六丶计算日期和时间
(第一组)
函数 | 用法 |
DATE_ADD(datetime,INTERVAL expr type) ADDDATE(date,INTERVAL expr type) | 返回给定日期时间相差INTERVAL时间段的日期时间(说白了就是返回datetime加上exper type后的时间,其中INTERVAL是关键字不用理会,exper是表达式,type是添加类型,例如添加一年就是: exper type ---> 1 YEAR,type有哪些下面会一一列举) |
DATE_SUB(date,INTERVAL expr type SUBDATE(date,INTERVAL expr type) | 返回与date相差INTERVAL时间间隔的日期 |
type | 含义 |
HOUR | 小时 |
MINUTE | 分钟 |
SECOND | 秒 |
YEAR | 年 |
MONTH | 月 |
DAY | 日 |
YEAR_MONTH | 年和月 |
DAY_HOUR | 日和小时 |
DAY_MINUTE | 日和分钟 |
DAY_SECOND | 日和秒 |
HOUR_MINUTE | 小时和分钟 |
HOUR_SECOND | 小时和秒 |
MINUTE_SECOND | 分钟和秒 |
(第二组)
函数 | 用法 |
ADDTIME(time1,time2) | 返回time1加上time2后的时间,当time2为一个数字时,代表的是秒,可以为负数 |
SUBTIME(time1,time2) | 返回time1减去time2后的时间,当time2为一个数字时,代表的是秒,可以为负数 |
DATEDIFF(date1,date2) | 返回date1-time2的日期间隔天数 |
TIMEDIFF(time1,time2) | 返回time1-time2的时间间隔 |
FROM_DAYS(N) | 返回从0000年1月1日起,N天后的日期 |
TO_DAYS(date) | 返回日期date距离0000年1月1日的天数 |
LAST_DAY(date) | 返回date所在月份的最后一天的日期 |
MAKEDATE(year,n) | 针对给定年份与所在年份中的天数返回一个日期 |
MAKETIME(hour,minute,second) | 给定的小时,分钟和秒组合成时间并返回 |
PERIOD_ADD(time,n) | 返回time加上n后的时间 |
七丶日期的格式化和解析
函数 | 用法 |
DATE_FORMAT(date,fmt) | 按照字符串fmt格式化日期date值 |
TIME_FORMAT(time,fmt) | 按照字符串fmt格式化时间time值 |
GET_FORMAT(date_type,format_type) | 返回日期字符串的显示格式 |
STR_TO_DATE(str,fmt) | 按照字符串fmt对str进行解析,解析为一个日期 |
其中fmt和format_type太多了不再累述(自行查阅)