Qt系统运行时间差计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Qt系统运行时间差计算
在网上查了很多资料,发觉网上很多用Qt写的系统运行时间差的例子写的都不是很全,今天自己研究了一下,可以成功得显示日时分秒,觉得不错,就与大家分享了
#include
#include
#include
int main(int argc,char*argv[])
{
QCoreApplication a(argc,argv);
QDateTime now=QDateTime::currentDateTime();
QDateTime Moon_Festival;
QDateTime xmas(QDate(now.date().year(),7,26),QTime(0,0));
//QDate(now.date().year()取当前的年分,可以自己设置,比如2012
Moon_Festival=xmas;
//这里最大计数为天
//这里涉及到两个函数daysTo()和SecsTo(),他们分别返回差值的天数和秒数,如果有朋友需要精确到毫秒的,QDateTime还提供了一个msecsTo() qDebug()< return a.exec(); } 至于最大计数为年或者月的,因为涉及到每个月的天数不同,以及闰年的存在,我这里就不写了,如果大家有兴趣或者有需要的话,自己可以计算研究一下,然后与大家分享。 下面是我写的一个关于现实系统运行时间差的完整程序,和大家分享一下,其中关于时间的计算有兴趣的同学可以自己研究优化一下,由于时间关系,我这里就直接贴代码了。static QDateTime currentTime_1; static int timeFlag=0; void MainWindow::dateUpDate() { if(timeFlag==0) { currentTime_1=QDateTime::currentDateTime(); QTimer*timer=new QTimer(this); connect(timer,SIGNAL(timeout()), this,SLOT(display())); timer->start(1000);//设置更新时间间隔 timeFlag=1; } } void MainWindow::display() { QDateTime currentTime_2=QDateTime::currentDateTime(); ui->lbl_connectTime->setText("系统累计运行时间" +QString::number(currentTime_1.msecsTo(currentTime_2)/3600000)+"小时:" +QString::number(currentTime_1.msecsTo(currentTime_2)%3600000/60000)+"分:"+QString::number(currentTime_1.msecsTo(currentTime_2)%60000/1000)+"秒"); }