如何获取最近7天的日期列表(SQL/Qt/C++实现)
获取最近7天日期列表的实现方案
SQL 实现
MySQL 写法
使用递归CTE生成连续日期:
WITH RECURSIVE date_range AS ( SELECT CURDATE() AS date UNION ALL SELECT date - INTERVAL 1 DAY FROM date_range WHERE date > CURDATE() - INTERVAL 6 DAY ) SELECT DATE_FORMAT(date, '%Y-%m-%d') AS date_str FROM date_range ORDER BY date DESC;
该语句会生成包含当天在内的7天日期,按从新到旧排序。
PostgreSQL 写法
利用generate_series快速生成日期序列:
SELECT TO_CHAR(generate_series(CURRENT_DATE - INTERVAL '6 days', CURRENT_DATE, '1 day'), 'YYYY-MM-DD') AS date_str ORDER BY date_str DESC;
Qt/C++ 实现
通过QDate类的日期操作API生成日期列表:
#include <QDate> #include <QStringList> QStringList getLast7Days() { QStringList dateList; const QDate today = QDate::currentDate(); for (int i = 0; i < 7; ++i) { const QDate targetDate = today.addDays(-i); dateList.append(targetDate.toString("yyyy-MM-dd")); } return dateList; }
调用getLast7Days()即可得到包含当天的7天日期字符串列表,顺序为从当天到6天前。
内容的提问来源于stack exchange,提问作者ifteapotsareforteawhatarepots4
相关产品推荐
相关产品推荐

