大家好,欢迎来到IT知识分享网。
1.获取日期时间函数
1.1 获取当前日期时间
SELECT NOW();
1.2 获取当前日期
SELECT CURRENT_DATE();
1.3 获取当前时间
SELECT CURRENT_TIME();
2.日期格式化★★★
2.1 日期转指定格式字符串
SELECT DATE_FORMAT('2022-01-08 22:23:01', '%Y%m%d%H%i%s'); 说明: %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 ★★★ %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) ★★★ %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) ★★★ month %c 月, 数字(1……12) %b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23)★★★ %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %l 小时(1……12) %i 分钟, 数字(00……59) ★★★ minite %r 时间,12 小时(hh:mm:ss [AP]M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59) %s 秒(00……59) ★★★ %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期的第一天,查询指定日期属于当前年份的第几个周 ★★★★ %u 星期(0……52), 这里星期一是星期的第一天
示例代码:
# 日期格式化 select date_format(now(),'%Y%m%d%H%i%s'); # 获取当前是星期几 select date_format(now(),'%Y%m%W'); # 查看当前属于一年中的第几个周 以周末作为一个循环 select date_format(now(),'%Y%U'); select date_format('109','%Y%U');
2.2 字符串转日期
# 日期格式与表达式格式一致即可 SELECT STR_TO_DATE('06/01/2022', '%m/%d/%Y'); SELECT STR_TO_DATE('109', '%Y%m%d%H%i%s');
3.日期间隔
3.1 增加日期间隔 ★★★
# 间隔单位可以是DAY MONTH MINUTE WEEK YEAR SECOND HOUR SELECT DATE_ADD(NOW(),INTERVAL 2 DAY); SELECT DATE_ADD(NOW(),INTERVAL 2 MONTH); SELECT DATE_ADD('2022-02-06 22:47:17',INTERVAL 2 MONTH);
3.2 减去一个时间间隔★★★
SELECT DATE_SUB(NOW(),INTERVAL 3 DAY); SELECT DATE_SUB('2022-02-06 22:47:17',INTERVAL 2 MONTH);
3.3 日期相差天数(天)
select datediff('2022-01-06','2021-12-28'); -- 9
3.4 相差时间(小时)
select timediff('2022-01-06 08:08:08', '2021-12-28 09:00:00'); -- 08:08:08
4.星期操作
4.1 返回日期date的星期索引
# 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。 SELECT DAYOFWEEK(NOW())-1; # 返回date的星期索引(0=星期一,1=星期二, ……6= 星期天) SELECT WEEKDAY(NOW())+1
5.其它操作
# 获取日 SELECT DAYOFMONTH(NOW());# 6 # 获取月份 SELECT MONTH(NOW());# 1 # 获取星期几 SELECT DAYNAME(NOW());# Thursday # 获取第几季度 SELECT QUARTER(NOW());# 2022/1/6 --> 1 # mysql数据库的日期函数 # 获取当前时间: 年月日时分秒 SELECT NOW(); # 获取当前的日期: 年月日 SELECT CURRENT_DATE(); # 获取当前的时间: 时分秒 SELECT CURRENT_TIME(); # 日期格式化 SELECT DATE_FORMAT('2022-01-08 22:23:01', '%Y%m%d%H%i%s'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%Y'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%m'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%d'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%H'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%h'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%i'); SELECT DATE_FORMAT('2022-01-08 22:23:01', '%s'); SELECT DATE_FORMAT('2022-10-23 22:23:01', '%W'); # 日期格式化,计算当前日期属于今年的第几周 SELECT DATE_FORMAT('2022-10-23 22:23:01', '%U'); SELECT STR_TO_DATE('06/01/2022', '%m/%d/%Y'); # 2022-06-01 SELECT STR_TO_DATE('109', '%Y%m%d%H%i%s'); # 2022-01-08 09:01:09 SELECT DATE_ADD(NOW(),INTERVAL 2 DAY); # 2022-01-07 22:46:39 SELECT DATE_ADD(NOW(),INTERVAL -2 MONTH); # 2022-02-06 22:47:17 SELECT DATE_ADD('2022-02-06 22:47:17',INTERVAL 2 MONTH); # 2022-04-06 22:47:17 SELECT DATE_SUB(NOW(),INTERVAL 3 DAY); # 2022-01-03 22:49:24 SELECT DATE_SUB('2022-02-06 22:47:17',INTERVAL 2 MONTH); # 2021-12-06 22:47:17 SELECT DATEDIFF('2022-10-06','2022-10-28'); SELECT TIMEDIFF('2022-01-06 08:08:08', '2021-12-28 09:00:00'); -- 08:08:08 SELECT DAYOFWEEK(NOW())-1; SELECT WEEKDAY(NOW())+1 # 获取日 SELECT DAYOFMONTH(NOW());# 6 # 获取月份 SELECT MONTH(NOW());# 1 # 获取星期几 SELECT DAYNAME(NOW());# Thursday # 获取第几季度 SELECT QUARTER(NOW());# 2022/1/6 --> 1
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126166.html