mysql日期相关函数
#获取当前日期
SELECT CURRENT_DATE();
SELECT CURDATE();
#获取当前时间
SELECT CURRENT_TIME();
SELECT CURTIME();
#获取当前日期时间
SELECT NOW();
SELECT SYSDATE();
#获取unix时间戳(从1970年开始过了多少秒)
SELECT UNIX_TIMESTAMP();
#将时间戳格式化
SELECT FORMAT(UNIX_TIMESTAMP(),0);
#把时间戳转换成日期时间
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()));
#获取年月日时分秒季度星期
#获取年
SELECT YEAR(NOW());
SELECT YEAR(‘2020-09-09’);
#获取月份(数字)
SELECT MONTH(NOW());
#获取月份(英文名称)
SELECT MONTHNAME(NOW());
#获取星期索引(周一 0 周二 1 … 周日 6)
SELECT WEEKDAY(NOW());
#获取星期索引(周日 1 周一 2 周二 3 … )
SELECT DAYOFWEEK(NOW());
#获取星期名字
SELECT DAYNAME(NOW());
#获取当前的周数 一般来说一年是53周
SELECT WEEK(NOW());
SELECT WEEKOFYEAR(NOW());
#获取过了多少天,当前是第几天
SELECT DAYOFYEAR(NOW());
SELECT DAYOFMONTH(NOW());
#获取分钟
SELECT MINUTE(NOW());
#获取小时
SELECT HOUR(NOW());
#获取季度
SELECT QUARTER(NOW());
#获取秒
SELECT NOW(),SECOND(NOW());
#把时间转换成秒数
SELECT TIME_TO_SEC(CURTIME());
#把秒数换成时间
SELECT TIME_TO_SEC(CURTIME()),SEC_TO_TIME(TIME_TO_SEC(CURTIME()));
#时间日期的加减
#时间日期往后加减 格式:DATE_ADD(date,INTERVAL 数字 [year/month/hour…])
SELECT DATE_ADD(CURDATE(),INTERVAL 2 DAY);
SELECT ADDDATE(NOW(),INTERVAL 2 HOUR);
#interval后面的格式只能是 DAY_HOUR DAY_SECOND DAY_MINUTE YEAR_MONTH
SELECT NOW(),DATE_ADD(NOW(),INTERVAL ‘1 1’ DAY_HOUR);
SELECT NOW(),DATE_ADD(NOW(),INTERVAL ‘1 1:22’ DAY_MINUTE);
SELECT NOW(),DATE_ADD(NOW(),INTERVAL ‘1 1:20:15’ DAY_SECOND);
SELECT CURDATE(),DATE_ADD(CURDATE(),INTERVAL ‘1 2’ YEAR_MONTH);
#时间日期的减 DATE_SUB(date,INTERVAL 数字 实际年月…)
SELECT DATE_SUB(NOW(),INTERVAL 2 DAY)
#INTERVAL 关键字 可单独使用
SELECT ‘2021-08-08’ + INTERVAL ‘2’ DAY;
SELECT ‘2021-08-08’ + INTERVAL ‘2 2’ DAY_HOUR; # DATE_ADD
SELECT ‘2021-08-08’ - INTERVAL ‘2’ DAY; # DATE_SUB
#两日期相减 datediff 获取相差的天数
SELECT DATEDIFF(‘2021-09-08’,‘2021-09-09’);
#日期格式化 后面的格式有很多种
SELECT DATE_FORMAT(CURDATE(),’%Y/%m/%d’);