目录
1、获取时间
QDate date1 = QDate::currentDate();//返回当前时间
QDate date2(2019,12,7);
qDebug() << date1;
int y, m, d;
date2.getDate(&y,&m,&d); //提取年月日时间
qDebug() << y << " " << m << " " << d;
qDebug() << date2.day(); //当月第几天
qDebug() << date1.month(); //返回月数
qDebug() << date1.year(); //返回年数
qDebug() << date2.dayOfWeek(); //这周第几天
qDebug() << date1.weekNumber(&y); //返回周数(1到53),并将年份存储在*y中
qDebug() << date2.dayOfYear(); //今年第几天
qDebug() << date2.daysInMonth(); //返回当月有多少天
qDebug() << date2.daysInYear(); //返回今年有多少天
qDebug() << date1.daysTo(date2); //间隔多少天
qDebug() << date1.toJulianDay(); //将日期转为儒略日时间
qDebug() << date1.toString(); //将日期转为字符串
qDebug() << date1.toString(Qt::TextDate); //将日期转为字符串
//将日期按照格式转为字符串;3或4个同字符是显示汉字
qDebug() << date1.toString("dd.MM.yyyy");
qDebug() << date1.toString("ddd MMMM d yy");
qDebug() << date1.toString("'The day is' dddd");
//静态函数
qDebug() << QDate::fromJulianDay(date1.toJulianDay());//将儒略日时间转为QDate
qDebug() << QDate::fromString(date1.toString(Qt::TextDate));//将string时间转为QDate
2、增加时间
qDebug() << "增加时间"<< date2;
date1 = date2.addYears(100); //增加年数,返回qdate
date1 = date2.addMonths(13); //增加月数,返回qdate
date1 = date2.addDays(32); //增加天数,返回qdate
qDebug() << date1;
3、设置时间
//设置时间
qDebug() << date1.setDate(2030,10,1);
qDebug() << date1;
4、判断时间是否有效
//判断时间是否有效
QDate date;
qDebug() << date.isNull(); //判断,时间是否为空
qDebug() << date.isValid(); //判断,时间是否是有效时间,例如2月30无效
qDebug() << QDate::isLeapYear(2020); //判断,年份是否是闰年
qDebug() << QDate::isValid(2020,6,6);//判断,是日期是否有效
5、测试代码
#include <QCoreApplication>
#include <QDebug>
#include <QDateTime>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//获取时间
QDate date1 = QDate::currentDate();//返回当前时间
QDate date2(2019,12,7);
qDebug() << date1;
int y, m, d;
date2.getDate(&y,&m,&d); //提取年月日时间
qDebug() << y << " " << m << " " << d;
qDebug() << date2.day(); //当月第几天
qDebug() << date1.month(); //返回月数
qDebug() << date1.year(); //返回年数
qDebug() << date2.dayOfWeek(); //这周第几天
qDebug() << date1.weekNumber(&y); //返回周数(1到53),并将年份存储在*y中
qDebug() << date2.dayOfYear(); //今年第几天
qDebug() << date2.daysInMonth(); //返回当月有多少天
qDebug() << date2.daysInYear(); //返回今年有多少天
qDebug() << date1.daysTo(date2); //间隔多少天
qDebug() << date1.toJulianDay(); //将日期转为儒略日时间
qDebug() << date1.toString(); //将日期转为字符串
qDebug() << date1.toString(Qt::TextDate); //将日期转为字符串
//将日期按照格式转为字符串;3或4个同字符是显示汉字
qDebug() << date1.toString("dd.MM.yyyy");
qDebug() << date1.toString("ddd MMMM d yy");
qDebug() << date1.toString("'The day is' dddd");
//静态函数
qDebug() << QDate::fromJulianDay(date1.toJulianDay());//将儒略日时间转为QDate
qDebug() << QDate::fromString(date1.toString(Qt::TextDate));//将string时间转为QDate
qDebug() << QDate::isLeapYear(2020); //判断,年份是否是闰年
qDebug() << QDate::isValid(2020,6,6);//判断,是日期是否有效
//增加时间
qDebug() << "增加时间"<< date2;
date1 = date2.addYears(100); //增加年数,返回qdate
date1 = date2.addMonths(13); //增加月数,返回qdate
date1 = date2.addDays(32); //增加天数,返回qdate
qDebug() << date1;
//设置时间
qDebug() << date1.setDate(2030,10,1);
qDebug() << date1;
//判断时间是否有效
QDate date;
qDebug() << date.isNull(); //判断,时间是否为空
qDebug() << date.isValid(); //判断,时间是否是有效时间,例如2月30无效
return a.exec();
}