最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt?QDateTime計(jì)算時(shí)間差的實(shí)現(xiàn)示例

 更新時(shí)間:2023年04月25日 10:37:06   作者:妙為  
本文主要介紹了Qt?QDateTime計(jì)算時(shí)間差的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

如果一個(gè)程序比較耗時(shí),我們又想知道性能的瓶頸在哪里,然后針對(duì)性的進(jìn)行優(yōu)化。這里暫時(shí)不考慮多線程的情況。Qt中與時(shí)間相關(guān)的類大概有以下幾個(gè):
1.QDateTime
2.QTime
3.QDate
4.QTimeZone
5.QCalendar
是不是有點(diǎn)頭大,反正我是懵圈了。。。。。。
這篇文章主要聊聊QDateTime

一、QDateTime

QDateTime官方文檔

二、常用的函數(shù)

主要有以下常用函數(shù)

從官網(wǎng)描述來(lái)看大概意思:QDateTime 對(duì)象編碼日歷日期和時(shí)鐘時(shí)間(“日期時(shí)間”)。它結(jié)合了QDate和QTime類的特性。它可以從系統(tǒng)時(shí)鐘中讀取當(dāng)前日期時(shí)間。它提供了比較日期時(shí)間和通過(guò)添加秒數(shù)、天數(shù)、月數(shù)或年數(shù)來(lái)操作日期時(shí)間的函數(shù)。

1.示例代碼

#include "MainWindow.h"

#include <QApplication>
#include <QTime>
#include <QDateTime>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
//    w.show();


//    int iCount[10000000] = {1};
    int *pAllocation = new int[10000000];
    int item = 0;
    QDateTime time1 = QDateTime::currentDateTime();
    QTime startTime = QTime::currentTime();
    for(quint64 i=0; i<9000000000; i++)
    {
        item = i;
    }

    QDateTime time2 = QDateTime::currentDateTime();
    int days = time1.daysTo(time2);
    qDebug() << "Cast days=" << days;

    quint64 sTime = time1.toTime_t();
    quint64 eTime = time2.toTime_t();

    quint64 costTime = eTime - sTime;
    qDebug() << "eTime - sTime=" << costTime;
    QDateTime elapseTime = QDateTime::fromTime_t(costTime);
    qDebug() << "Elapsed time=" << elapseTime;

    QTime endTime = QTime::currentTime();



    int elapsed = startTime.secsTo(endTime);
    qDebug() << startTime.secsTo(endTime);


//    int ndaysec = 24*60*60;
//    qDebug() << "Day = " << (etime - stime)/(ndaysec) + ((etime - stime)%(ndaysec)+(ndaysec-1))/(ndaysec) - 1;

    QDateTime dateTime;
    QString elapsedTime = dateTime.fromTime_t(elapsed).toString("yyyy-MM-dd hh:mm:ss[:zzz]");
    qDebug() << "Cast time=" << elapsedTime;

    return a.exec();
}

注意如果考慮毫秒、微秒、納秒級(jí)在計(jì)算時(shí)間差的時(shí)候,建議使用quint64,否則很容易溢出。
另外boost當(dāng)中的chrono也非常好用,而且精確度可以達(dá)到納秒級(jí),當(dāng)然這里是考慮了cpu的時(shí)鐘頻率。

#include <iostream>
#define BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG		// 必須在頭文件之前定義宏,否則無(wú)效?。?!
#include <boost/date_time/posix_time/posix_time.hpp>
 
int main(int argc, char **argv) {
	// 第四個(gè)參數(shù),如果精確度是微秒,單位就是微秒,如果精確度是納秒,單位就是納秒
	boost::posix_time::time_duration td(1, 10, 30, 1000);				// 01:10:30
	// 查看當(dāng)前的精確度
	if (td.resolution() == boost::date_time::nano) printf("精確度:納秒\n");
	else printf("精確度:微秒\n");
	// 返回秒的小數(shù)部分的位數(shù)(微秒6位,納秒9位)
	std::cout << td.num_fractional_digits() << std::endl;
 
	// 對(duì)于以下輸出,默認(rèn)微秒精度輸出:01:10:30.001000  納秒精度輸出:01:10:30.000001000
	std::cout << td << std::endl;
	// 對(duì)于以下輸出,在納秒精度下,微秒會(huì)被忽略(微秒:4230001 納秒:4230000)
	std::cout << td.total_milliseconds() << std::endl;
	// 下面的這個(gè)方法,就是輸出小數(shù)點(diǎn)后面的數(shù)值,單位隨精確度變化
	std::cout << td.fractional_seconds() << std::endl;
	return 0;
}

2.日期與時(shí)間戳互轉(zhuǎn)

QString starttime ="2022-11-11 12:00:00";
QString endtime = "2022-11-13 12:00:01";
QDateTime start = QDateTime::fromString(starttime, "yyyy-MM-dd hh:mm:ss");
QDateTime end = QDateTime::fromString(endtime, "yyyy-MM-dd hh:mm:ss");
uint stime = start.toTime_t();
uint etime = end.toTime_t();

QDateTime time = QDateTime::fromTime_t(timeT); 

到此這篇關(guān)于Qt QDateTime計(jì)算時(shí)間差的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Qt QDateTime計(jì)算時(shí)間差內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言利用EasyX實(shí)現(xiàn)繪制足球圖案

    C語(yǔ)言利用EasyX實(shí)現(xiàn)繪制足球圖案

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言如何利用EasyX繪圖庫(kù)實(shí)現(xiàn)繪制一個(gè)簡(jiǎn)單的足球圖案,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-11-11
  • C++11并發(fā)編程:多線程std::thread

    C++11并發(fā)編程:多線程std::thread

    今天小編就為大家分享一篇關(guān)于C++11并發(fā)編程:多線程std::thread,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • C++如何實(shí)現(xiàn)sha256算法

    C++如何實(shí)現(xiàn)sha256算法

    SHA-256算法由于其強(qiáng)大的安全性,已成為國(guó)際標(biāo)準(zhǔn)和許多安全協(xié)議的推薦算法,在密碼存儲(chǔ)、數(shù)字簽名、區(qū)塊鏈技術(shù)、SSL/TLS協(xié)議、數(shù)據(jù)完整性驗(yàn)證、系統(tǒng)安全審計(jì)等眾多應(yīng)用領(lǐng)域,SHA-256算法都至關(guān)重要,這篇文章主要介紹了C++如何實(shí)現(xiàn)sha256算法,需要的朋友可以參考下
    2024-07-07
  • 在C語(yǔ)言項(xiàng)目中有效進(jìn)行異常處理機(jī)制(最新推薦)

    在C語(yǔ)言項(xiàng)目中有效進(jìn)行異常處理機(jī)制(最新推薦)

    本文將探討在C語(yǔ)言項(xiàng)目中如何設(shè)計(jì)和實(shí)現(xiàn)錯(cuò)誤處理機(jī)制,以確保程序的健壯性和可靠性,感興趣的朋友一起看看吧
    2025-03-03
  • C語(yǔ)言實(shí)現(xiàn)掃雷游戲(初級(jí)版)

    C語(yǔ)言實(shí)現(xiàn)掃雷游戲(初級(jí)版)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷游戲初級(jí)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C++?ASIO實(shí)現(xiàn)異步套接字管理詳解

    C++?ASIO實(shí)現(xiàn)異步套接字管理詳解

    Boost?ASIO(Asynchronous?I/O)是一個(gè)用于異步I/O操作的C++庫(kù),該框架提供了一種方便的方式來(lái)處理網(wǎng)絡(luò)通信、多線程編程和異步操作,本文介紹了如何通過(guò)ASIO框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單的異步網(wǎng)絡(luò)套接字應(yīng)用程序,需要的可以參考下
    2023-08-08
  • C++與C語(yǔ)言常用的語(yǔ)法對(duì)比

    C++與C語(yǔ)言常用的語(yǔ)法對(duì)比

    這篇文章主要介紹了C++與C語(yǔ)言常用的語(yǔ)法對(duì)比,文章基于c++和C語(yǔ)言的相關(guān)資料展開(kāi)兩者的語(yǔ)法相互對(duì)比,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-04-04
  • 基于C++實(shí)現(xiàn)五子棋AI算法思想

    基于C++實(shí)現(xiàn)五子棋AI算法思想

    這篇文章主要為大家詳細(xì)介紹了基于C++實(shí)現(xiàn)五子棋AI算法思想,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C++?多線程之互斥量(mutex)詳解

    C++?多線程之互斥量(mutex)詳解

    這篇文章主要為大家詳細(xì)介紹了C++多線程之互斥量(mutex),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 一篇帶你了解C語(yǔ)言--位操作詳情

    一篇帶你了解C語(yǔ)言--位操作詳情

    這篇文章主要介紹了關(guān)于C語(yǔ)言位運(yùn)算的簡(jiǎn)單示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08

最新評(píng)論

化隆| 专栏| 乐山市| 那坡县| 邢台县| 成安县| 象山县| 乐平市| 象山县| 弋阳县| 岢岚县| 昌平区| 平和县| 拉萨市| 北辰区| 深泽县| 肥西县| 长春市| 丹江口市| 象州县| 磐石市| 乌拉特中旗| 嘉义市| 徐闻县| 佛山市| 奉节县| 綦江县| 玉树县| 黑龙江省| 内黄县| 枣阳市| 宝应县| 甘南县| 桃园县| 祥云县| 会泽县| 静乐县| 宜宾市| 交口县| 防城港市| 嘉义县|