-- 计算某一年的第一天 SELECT DATE_ADD(CONCAT(YEAR(CURRENT_DATE()),'-01-01'),INTERVAL (1-DAYOFWEEK(CONCAT(YEAR(CURRENT_DATE()),'-01-01'))) DAY); -- 计算某一年的第一天和最后一天 SELECT DATE_ADD(CONCAT(YEAR(CURRENT_DATE()),'-01-01'),INTERVAL (1-DAYOFWEEK(CONCAT(YEAR(CURRENT_DATE()),'-01-01'))) DAY) AS start_date, DATE_ADD(CONCAT(YEAR(CURRENT_DATE()),'-12-31'),INTERVAL (7-DAYOFWEEK(CONCAT(YEAR(CURRENT_DATE()),'-12-31'))) DAY) AS end_date; -- 计算某一年某一周的起始日期和结束日期 SET @year=2022; -- 年份 SET @week=12; -- 周数 SELECT DATE_ADD(DATE_ADD(CONCAT(@year,'-01-01'),INTERVAL (1-DAYOFWEEK(CONCAT(@year,'-01-01'))) DAY), INTERVAL (@week-1)*7 DAY) AS start_date, DATE_ADD(DATE_ADD(CONCAT(@year,'-01-01'),INTERVAL (1-DAYOFWEEK(CONCAT(@year,'-01-01'))) DAY), INTERVAL (@week)*7-1 DAY) AS end_date;
以上代码中,大家使用了MySQL内置的函数,如YEAR获取年份,WEEK获取周数,DATE_ADD计算日期,INTERVAL指定时间间隔,CONCAT连接字符串等。根据不同情况,大家设置了不同的变量,如@year、@week,通过设置这些变量,可以快速实现日期的计算。
总的来说,MySQL可以方便地根据年份和周数计算出具体的日期。此外,MySQL还有很多其他的强大功能,可以在实际开发中灵活应用。