QDate学习之获取两个日期范围中的所有日期
Posted clever101
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QDate学习之获取两个日期范围中的所有日期相关的知识,希望对你有一定的参考价值。
作者:朱金灿
来源:clever101的专栏
思路:
1.获取两个日期中的日子差;
2.利用QDate类的addDays接口通过日子差获取具体日期。具体代码如下:
#include <QtCore/QDate>
#include <QtCore/QDebug>
/*获取两个日期范围中的所有日期
beginDate -- 起始日期
endDate -- 结束日期
*/
static QList<QDate> GetAllDate(const QDate& beginDate, const QDate& endDate)
QList<QDate> listDate;
listDate.push_back(beginDate);
qint64 nDay = beginDate.daysTo(endDate);
if (nDay > 1)
for (int i = 1; i <= (nDay - 1); i++)
QDate nextDate = beginDate.addDays(i);
listDate.push_back(nextDate);
listDate.push_back(endDate);
return listDate;
//测试程序
int main(int argc, char *argv[])
QApplication a(argc, argv);
QDate beginDate = QDate(2021, 3, 20);
QDate endDate = QDate(2022, 3, 20);
QList<QDate> listDate = GetAllDate(beginDate, endDate);
for (int i = 0;i<listDate.count();i++)
qDebug() << listDate[i].year()<<":"<<listDate[i].month() << ":"<< listDate[i].day()<<"\\n";
以上是关于QDate学习之获取两个日期范围中的所有日期的主要内容,如果未能解决你的问题,请参考以下文章
2.6.2 QDate类与QDateEdit控件介绍(日期处理)
日期与时间控件QDate, QTime, QDateTime