一問學(xué)會(huì)QT時(shí)間類
QT獲取時(shí)間的類有3個(gè),分別是QDate、QTime、QDateTime,他們屬于QT的network模塊。
一、QDATE類提供日期函數(shù)
QDATE對(duì)象包含公歷中的日歷日期,即年、月和日數(shù)。它可以從系統(tǒng)時(shí)鐘讀取當(dāng)前日期。它提供了比較日期和操作日期的功能。
QDate::currentDate()從系統(tǒng)時(shí)鐘讀取當(dāng)前日期。例如:QDate::currentDate().toString("yyyy.MM.dd")


二、QTime類提供時(shí)鐘時(shí)間函數(shù)
QTIME對(duì)象包含時(shí)鐘時(shí)間,即從午夜開始的小時(shí)數(shù)、分鐘數(shù)、秒數(shù)和毫秒數(shù)。它可以從系統(tǒng)時(shí)鐘讀取當(dāng)前時(shí)間并測(cè)量經(jīng)過的時(shí)間跨度。它提供了用于比較時(shí)間和通過添加毫秒來操縱時(shí)間的功能。QTIME使用24小時(shí)時(shí)鐘格式,它沒有AM/PM的概念。與QDateTime不同的是,QTime沒有時(shí)區(qū)或夏令時(shí)概念。
QTime::currentTime()獲取時(shí)間為時(shí)分秒,例如:QTime::currentTime().toString("hh:mm:ss:zzz")


三、QDateTime是類QDate和類QTime的相結(jié)合
它可以從系統(tǒng)時(shí)鐘中讀取當(dāng)前日期時(shí)間。它提供比較日期時(shí)間和操作日期時(shí)間的函數(shù),比如加上一定數(shù)量的秒、天、月或年。和QDate相比可以設(shè)置時(shí)區(qū)屬性:setTimeZone(const QTimeZone &toZone)
QDateTime::currentDateTime();//獲取系統(tǒng)現(xiàn)在的時(shí)間,
例如:QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss:zzz")
QDateTime轉(zhuǎn)QString。
QDateTime begin_time = QDateTime::currentDateTime();//獲取系統(tǒng)現(xiàn)在的時(shí)間
QString begin =begin_time .toString("yyyy.MM.dd hh:mm:ss.zzz ddd");
debug(2019.03.13 14:47:24:333 周三)QString轉(zhuǎn)QDateTime。
QString begin= "2019-03-31 12:24:36"; QDateTime begin_time = QDateTime::fromString(begin, "yyyy-MM-dd hh:mm:ss");
計(jì)算時(shí)間差:
QString begin = "2019-03-31 12:24:36";
QDateTime begin_time = QDateTime::fromString(begin, "yyyy-MM-dd hh:mm:ss");
QString end = "2019-04-01 12:24:36";
QDateTime end_time = QDateTime::fromString(end, "yyyy-MM-dd hh:mm:ss");
begin_time.secsTo(end_time)//轉(zhuǎn)換為秒 86400
begin_time.daysTo(end_time)//轉(zhuǎn)換為日 1
int ms = 1537537358;
QDateTime dateTime = QDateTime::fromTime_t(ms);
QString str = dateTime.toString("yyyy-MM-dd hh:mm:ss");將當(dāng)前時(shí)間轉(zhuǎn)化為時(shí)間戳:
QDateTime begin_time = QDateTime::currentDateTime();//獲取系統(tǒng)現(xiàn)在的時(shí)間 uint stime = begin_time.toTime_t();
獲取時(shí)間的前一天:
QString str = "2019-03-01 12:00:01";
QDateTime begin_time = QDateTime::fromString(str, "yyyy-MM-dd hh:mm:ss");
QString str= begin_time .addDays(-1).toString("yyyy-MM-dd hh:mm:ss");//獲取前一天時(shí)間負(fù)數(shù)為之前的時(shí)間正數(shù)為之后的時(shí)間同時(shí)還有addMonths(int months)、addYears(int years)、addSecs(qint64 secs)、addMSecs(qint64 msecs) 等
到此這篇關(guān)于一問學(xué)會(huì)QT時(shí)間類的文章就介紹到這了,更多相關(guān)QT時(shí)間類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C生萬物C語言宏將整數(shù)二進(jìn)制位的奇偶數(shù)位交換
這篇文章主要為大家介紹了C生萬物C語言使用宏將整數(shù)二進(jìn)制位的奇偶數(shù)位交換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Qt中Tab與Tree組件實(shí)現(xiàn)分頁(yè)菜單
本文主要介紹tabWidget選擇夾組件與TreeWidget樹形選擇組件的常用方法及靈活運(yùn)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12

