0
点赞
收藏
分享

微信扫一扫

QDate学习之获取两个日期范围中的所有日期



​​ 为什么大多数人学不会人工智能编程?>>> ​​

QDate学习之获取两个日期范围中的所有日期_Qt


  思路:
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";
}
}


举报

相关推荐

0 条评论