Qt系统运行时间差计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)+"秒");

}

相关文档
最新文档