电子信息工程系部网站建设方案,网站内外链怎么做,网络建站工作室官网源码,自己做本市网站文章目录 1.获取日期时间函数1.1 获取当前日期时间1.2 获取当前日期1.3 获取当前时间 2.日期格式化★★★2.1 日期转指定格式字符串2.2 字符串转日期 3.日期间隔3.1 增加日期间隔 ★★★3.2 减去一个时间间隔★★★3.3 日期相差天数#xff08;天#xff09;3.4 相差时间天3.4 相差时间小时 4.星期操作4.1 返回日期date的星期索引 5.其它操作 MySQL的日期函数主要用来对日期和时间类型的数据进行计算、格式化和转换能够帮助程序员更加方便地处理存储在MySQL数据库中的时间数据。使用这些函数可以实现以下功能
格式化日期和时间通过指定不同的日期格式输出相应的日期或时间字符串。
提取日期和时间的各个部分提取一个时间值中的年、月、日、时、分、秒等信息。
进行日期加减操作在一个日期值上进行加减运算例如将某一日期加上一天或减去半个月。
返回日期时间差异计算两个日期或时间的差值例如计算两个日期之间相隔多少天、小时或分钟等。
对日期与时间类型进行类型转换将日期类型转化为UNIX时间戳或者将字符串日期转化为DATE类型。
这些日期函数使得对日期时间相关操作变得十分灵活和简单同时还可以在SQL语句中高度发挥作用以满足各种复杂的业务需求。
以下是具体的API
1.获取日期时间函数
1.1 获取当前日期时间
获取的是当前日期时间的 年月日时分秒
SELECT NOW(); # 2023-05-11 18:21:171.2 获取当前日期
获取的是当前日期的年月日
SELECT CURRENT_DATE(); # 2023-05-111.3 获取当前时间
获取的是当前时间 时分秒
SELECT CURRENT_TIME(); # 18:22:102.日期格式化★★★
2.1 日期转指定格式字符串
SELECT DATE_FORMAT(2022-01-08 22:23:01, %Y%m%d%H%i%s);# 20220108222301
说明
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位 ★★★
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31) ★★★
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%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) ★★★
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0Sunday ……6Saturday )
%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(20220108090109,%Y%U);2.2 字符串转日期
将指定的字符串以指定的格式转换为日期
# 日期格式与表达式格式一致即可
SELECT STR_TO_DATE(06/01/2022, %m/%d/%Y); # 2022-06-01
SELECT STR_TO_DATE(20220108090109, %Y%m%d%H%i%s); # 2022-01-08 09:01:093.日期间隔
3.1 增加日期间隔 ★★★
# 间隔单位可以是DAY MONTH MINUTE WEEK YEAR SECOND HOUR
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:173.2 减去一个时间间隔★★★
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:173.3 日期相差天数天
select datediff(2022-01-06,2021-12-28); -- 93.4 相差时间小时
select timediff(2022-01-06 08:08:08, 2021-12-28 09:00:00); -- 08:08:084.星期操作
4.1 返回日期date的星期索引
# 返回日期date的星期索引(1星期天2星期一, ……7星期六)。这些索引值对应于ODBC标准。
SELECT DAYOFWEEK(NOW())-1;# 返回date的星期索引(0星期一1星期二, ……6 星期天)
SELECT WEEKDAY(NOW())15.其它操作
# 获取日
SELECT DAYOFMONTH(NOW());# 6
# 获取月份
SELECT MONTH(NOW());# 1
# 获取星期几
SELECT DAYNAME(NOW());# Thursday
# 获取第几季度
SELECT QUARTER(NOW());# 2022/1/6 -- 1