一.QTime类
1.初始化
可以直接构造函数初始化,时 分 秒 毫秒
#include <QTime> ... QTime time(8,29,24,234); qDebug()<<time;
运行结果:
2.获取当前时间
可以用QTime的静态方法**currentTime()**来获取当前的时间
time=QTime::currentTime(); qDebug()<<time;
运行结果:
哈哈,被你们发现我现在在写博客了。
3.获取 小时 分钟 秒 毫秒
可以用相应的接口来获取
int h=time.hour(); int m=time.minute(); int s=time.second(); int ms=time.msec(); qDebug()<<h<<m<<s<<ms;
运行结果:
4.增加时间
有的时候我们需要对时间来进行修改,可以用到接口addSecs()
这个是增加秒,3600就相当于一个小时。
qDebug()<<time; time=time.addSecs(3600); qDebug()<<time;
运行结果:
同时还可以负数就是返方向的钟
qDebug()<<time; time=time.addSecs(-3600); qDebug()<<time;
运行结果:
5.间隔时间
有的时间我们需要来算时间差,就可以用到secsTo这个接口,当然这个是以秒来计算的。
QTime time1(12,28,12,23); qDebug()<<time.secsTo(time1);
运行结果:
6.字符串转时间
对于qt的界面设计,我们还是要知道字符串如何转到时间,可以用QTime的静态方法fromString接口。
可以使用通配符 h m s z 对应相应的时间,一位对一个
QTime time2=QTime::fromString("9点23分51秒237毫秒","h点mm分ss秒zzz毫秒"); qDebug()<<time2;
运行结果:
7.时间转字符串
同理,时间转字符串我们也要知道,用toString这个接口来实现。
QString ret=time2.toString(); qDebug()<<ret;
运行结果:
当然也可以用通配符来格式化
QString ret=time2.toString("h小时mm分ss秒zzz毫秒"); qDebug()<<ret;
运行结果:
二.QDate类
有了QTime的学习,QDate其实基本一样,咱们也来过一遍吧!
1.初始化
QDate date(2024,5,15); qDebug()<<date;
运行结果:
2.获取当前日期
date=QDate::currentDate(); qDebug()<<date;
运行结果:
让你们知道我的时间了,哈哈哈
3.设置日期
如果我想回到高考,我不能时光倒流,但是我可以修改时间,嘿嘿嘿,在程序的世界里,我就是上帝。
date.setDate(2022,6,7); qDebug()<<date;
运行结果:
4.获取 年 月 日
int y=date.year(); int m=date.month(); int d=date.day(); qDebug()<<y<<m<<d;
运行结果:
5.各种小接口
date=QDate::currentDate(); qDebug()<<date; qDebug()<<date.dayOfYear();//这一年的第几天 qDebug()<<date.dayOfWeek();//这一天是星期几(0~6)0是星期天 qDebug()<<date.daysInYear();//这一年有多少天 qDebug()<<date.daysInMonth();//这一个月有多少天 qDebug()<<date.weekNumber();//这个是这一年的第几周
运行结果:
你也来试试看吧!
6.增加日期
同样的,日期也可以通过addDays接口,只不过是以天为单位
qDebug()<<date; date=date.addDays(6); qDebug()<<date;
运行结果:
7.日期间隔
接口daysTo
QDate date1=QDate::currentDate(); qDebug()<<date1.daysTo(date);
运行结果:
8.字符串转日期
与时间同样的接口fromString
通配符为 y M d,大写的M是为了区分小写的秒 m
QDate date2=QDate::fromString("2024年5月20日","yyyy年M月dd日"); qDebug()<<date2;
运行结果:
9.日期转字符串
不用通配符的话,会生成一个默认的打印格式
QString ret=date2.toString(); qDebug()<<ret;
运行结果:
用通配符来进行格式化
QString ret=date2.toString("yyyy年M月dd日"); qDebug()<<ret;
运行结果:
【qt】一次性讲清楚日期和时间2:https://developer.aliyun.com/article/1522999