计算两个日期的相隔月份
第一种方法
格式: PERIOD_DIFF
(p1,p2),返回周期P1和P2之间的月数。 P1和P2的格式应为YYMM或YYYYMM。 请注意,期间参数P1和P2不是日期值。
SELECT PERIOD_DIFF(201710, 201703);
如果把小月份放到前面,那么结果会为负数
第二种方法
SELECT TIMESTAMPDIFF(MONTH,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
计算两个日期相隔的天数
第一种方法
SELECT TIMESTAMPDIFF(DAY,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
第二种方法
select DATEDIFF(date1,date2);
日期转字符串
select STR_TO_DATE(now(),"%Y-%m-%d");
ZoneDateTime转换为字符串
ZonedDateTime requitionDate=e.getRequisitionDate();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String date= requitionDate.toLocalDate().format(formatter);
MYSQL的TIMESTAMPDIFF方法
MySQL自带的日期函数TIMESTAMPDIFF
计算两个日期相差的秒数、分钟数、小时数、天数、周数、季度数、月数、年数,当前日期增加或者减少一天、一周等等。
示例
SELECT TIMESTAMPDIFF(类型,开始时间,结束时间)
相差的秒数
SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
例如是否相差大于等于15秒
SELECT * FROM 表名 WHERE TIMESTAMPDIFF(SECOND,start_time(较小的时间),stop_time(较大的时间)) >= 15
相差的分钟数
SELECT TIMESTAMPDIFF(MINUTE,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的小时数
SELECT TIMESTAMPDIFF(HOUR,'1993-03-23 00:00:00 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的天数
SELECT TIMESTAMPDIFF(DAY,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m