做本地网站卖WordPress安装在Windows
MySQL 日期时间操作
- MySQL 系统时间
 - MySQL 时间格式化
 - MySQL 年月日时分秒周
 - MySQL 日期计算
 - 时分秒时差
 - 日期差
 - 日期加减
 
MySQL 系统时间
- now():系统时间,年月日时分秒
 - current_date:系统时间,年月日
 - current_time:系统时间,时分秒
 - current_timestamp:系统时间,年月日时分秒
 
select now(), current_date, current_time, current_timestamp
 

MySQL 时间格式化
- date_format(time, format_str):对时间进行格式化,返回字符类型。第一个参数为日期,第二个参数为格式化字符串。
 - str_to_date(time_str, format_str):对字符串类型的日期进行格式化,返回日期类型。第一个参数为时间字符串,第二个参数为格式化字符串
 - format_str 含义:
%y:2位年份
%Y:4位年
%m:数字月份
%M:英语月份
%d:日
%h:12小时制
%H:24小时制
%i:分钟
%s:秒 - hour(time):获取小时
 - minute(time):获取分钟
 - second(time):获取秒
 
select date_format(now(), '%y-%m-%d %h:%i:%s');
SELECT str_to_date('2023-12-20 11:30:35','%Y-%m-%d %h:%i:%s');
 

 
MySQL 年月日时分秒周
- year(time):获取时间中的年
 - month(time):获取时间中的月份
 - day(time):获取时间中的天
 - hour(time):获取时间中的小时(24小时)
 - minute(time):获取时间中的分钟
 - second(time):获取时间中的秒
 - dayofyear(time):获取时间中的天在本年中的天数。
 - dayofmonth(time):获取时间中的天在月中的天数。
 - dayofweek(time):获取时间中的天在本周中的天数,即周几,从周日开始,返回下标,下标从1开始。
 - dayname(time):获取时间中的天在本周中的天数,即周几,返回周的英语单词。
 - weekday(time):获取时间中的天在本周中的天数,即周几,从周一开始,返回下标,下标从0开始。
 
# 年月日
select year(now()), month(now()), day(now());
# 时分秒
select hour(now()), minute(now()), second(now());
# 天数
select dayofmonth(now()), dayofweek(now()), dayofyear(now());
# 周数
select dayname(now()), weekday(now()), dayofweek(now());
 



MySQL 日期计算
时分秒时差
- timediff(end, start):时分秒时间差,返回格式为时分秒。可以搭配相关日期函数获取时分秒单个值。
 
select start, end, timediff(end, start) from date_test;
 

日期差
- timestampdiff(time_flg, time1, time2):计算两个日期之间的时间差,根据指定的时间标识,可以获取年月日时分秒。注意 time_flg 时间标识大写。
 
select start, end, timestampdiff(YEAR , start, end) from date_test;
select start, end, timestampdiff(MONTH , start, end) from date_test;
select start, end, timestampdiff(DAY , start, end) from date_test;
select start, end, timestampdiff(HOUR , start, end) from date_test;
select start, end, timestampdiff(MINUTE , start, end) from date_test;
select start, end, timestampdiff(SECOND , start, end) from date_test;
 
日期加减
- date_add(date, INTERVAL expr type):日期增加函数。第一个参数是当前时间。第二个参数 INTERVAL 是固定写法,expr 是增加的时间的表达式。type为增加的单位。
 - date_sub(date, INTERVAL expr type):日期增加函数。第一个参数是当前时间。第二个参数 INTERVAL 是固定写法,expr 是减少的时间的表达式。type为增加的单位。
 
# 获取 7 天前的日期,注意 INTERVAL 后面表达式的区别
select date_add(now(), INTERVAL -7 day), date_sub(now(), INTERVAL 7 day);# 获取 7 天后的日期,注意 INTERVAL 后面表达式的区别
select date_add(now(), INTERVAL 7 day), date_sub(now(), INTERVAL -7 day);-- 本周开始
select date_sub(curdate(), INTERVAL WEEKDAY(curdate()) DAY);
-- 本周结束
select date_sub(curdate(), INTERVAL WEEKDAY(curdate()) - 6 DAY);
-- 本月开始
select date_sub(curdate(), INTERVAL DAYOFMONTH(curdate()) -1 DAY);
-- 本月结束
select last_day(curdate());
