qt獲取當(dāng)前時(shí)間(QDateTime、QTime、QDate)
一、時(shí)間日期類型:
- QTime:時(shí)間數(shù)據(jù)類型,表示時(shí)間,如:14:23:13。
- QDate:日期數(shù)據(jù)類型,表示日期,如:2020-4-5。
- QDateTime:日期時(shí)間數(shù)據(jù)類型,表示日期和時(shí)間,如:2020-03-23 08:12:43。
QDateTime:
QDateTime dateTime= QDateTime::currentDateTime();//獲取系統(tǒng)當(dāng)前的時(shí)間 QString str = dateTime .toString("yyyy-MM-dd hh:mm:ss");//格式化時(shí)間
QString轉(zhuǎn)化為QDateTime:
QString str= "2020-11-02 12:24:36"; QDateTime time = QDateTime::fromString(str, "yyyy-MM-dd hh:mm:ss");
字符串轉(zhuǎn)換為 QTime、QDate 、 QDateTime 類型,使用靜態(tài)函數(shù) QDateTime::fromString(),其函數(shù)原型為: QDateTime QDateTime::fromString(const QString &string, const QString &format)
第 1 個(gè)參數(shù) string 是日期時(shí)間字符串形式,第 2 個(gè)參數(shù) format 是字符串表示的格式
當(dāng)前時(shí)間轉(zhuǎn)化為時(shí)間戳:
QDateTime time= QDateTime::currentDateTime();//獲取系統(tǒng)當(dāng)前的時(shí)間 uint nTime = time.toTime_t();
時(shí)間戳轉(zhuǎn)化為當(dāng)前時(shí)間:
//這個(gè)方法是靜態(tài)的 QDateTime time = QDateTime::fromTime_t(timeT);
二、 qt中用于時(shí)間、日期編輯和顯示的界面組件
- QTimeEdit:編輯和顯示時(shí)間的組件。
- QDateEdit:編輯和顯示日期的組件。
- QDateTimeEdit:編輯和顯示日期時(shí)間的組件。
- QCalendarWidget:用日歷形式選擇日期的組件。
//獲取當(dāng)前日期時(shí)間,設(shè)置日期時(shí)間數(shù)據(jù),并轉(zhuǎn)換為字符串 QDateTime curDateTime=QDateTime::currentDateTime(); ui->timeEdit->setTime(curDateTime.time()); ui->editTime->setText (curDateTime.toString ("hh:mm:ss)); ui->dateEdit->setDate(curDateTime.date()); ui->editDate->setText(curDateTime.toString("yyyy-MM-dd")); ui->dateTimeEdit->setDateTime(curDateTime); ui->editDateTime->setText(curDateTime.toString("yyyy-MM-dd hh:mm:ss"))
QDateEdit 和 QTimeEdit 都是從 QDateTimeEdit 繼承的,實(shí)現(xiàn)日期或時(shí)間的特定顯示功能。實(shí)際上,QDateEdit 和 QTimeEdit 的顯示功能都可以通過 QDateTimeEdit 實(shí)現(xiàn),只需設(shè)置屬性即可。
QDateTimeEdit 類的主要屬性如下:
- datetime:日期時(shí)間。
- date:日期,設(shè)置 datetime 時(shí)會(huì)自動(dòng)改變 date,同樣,設(shè)置 date 時(shí),也會(huì)自動(dòng)改變 datetime 里的日期。
- time:時(shí)間,設(shè)置 datetime 時(shí)會(huì)自動(dòng)改變 time,同樣,設(shè)置 time 時(shí),也會(huì)自動(dòng)改變 datetime 里的時(shí)間。
- maximumDateTime、 minimumDateTime:最大、最小日期時(shí)間。
- maximumDate、minimumDate:最大、最小日期。
- maximumTime、minimumTime:最大、最小時(shí)間。
- currentSection:當(dāng)前輸入光標(biāo)所在的時(shí)間日期數(shù)據(jù)段,是枚舉類型 QDateTimeEdit::Section。QDateTimeEdit 顯示日期時(shí)間數(shù)據(jù)時(shí)分為多個(gè)段,單擊編輯框右側(cè)的上下按鈕可修改當(dāng)前段的值。如輸入光標(biāo)在YearSection段,就修改“年”的值。
- currentSectionIndex:用序號(hào)表示的輸入光標(biāo)所在的段。
- calendarPopup:是否允許彈出一個(gè)日歷選擇框。當(dāng)取值為 true 時(shí),右側(cè)的輸入按鈕變成與 QComboBox 類似的下拉按鈕,單擊按鈕時(shí)出現(xiàn)一個(gè)日歷選擇框,用于在日歷上選擇日期。對(duì)于 QTimeEdit,此屬性無效。
- displayFormat:顯示格式,日期時(shí)間數(shù)據(jù)的顯示格式,例如設(shè)置為“yyyy-MM-dd HH:mm:ss”,一個(gè)日期時(shí)間數(shù)據(jù)就顯示為“2020-11-02 08:23:46”。
用于時(shí)間日期顯示的格式化字符說明:
表達(dá)式 | 說明 |
---|---|
d | 天,不補(bǔ)零顯示,1-31 |
dd | 天,補(bǔ)零顯示,01-31 |
M | 月,不補(bǔ)零顯示,1-12 |
MM | 月,補(bǔ)零顯示,01-12 |
yy | 年,兩位顯示,00-99 |
yyyy | 年,4位數(shù)字顯示,如 2020 |
h | 小時(shí),不補(bǔ)零,0-23 或 1-12 (如果顯示 AM/PM) |
hh | 小時(shí),補(bǔ)零2位顯示,00-23 或 01-12 (如果顯示 AM/PM) |
H | 小時(shí),不補(bǔ)零,0-23 (即使顯示 AM/PM) |
HH | 小時(shí),補(bǔ)零顯示,00-23 (即使顯示 AM/PM) |
m | 分鐘,不補(bǔ)零,0-59 |
mm | 分鐘,補(bǔ)零顯示,00-59 |
z | 毫秒,不補(bǔ)零,0-999 |
zzz | 毫秒,補(bǔ)零 3 位顯示,000-999 |
AP或A | 使用 AM/pm 顯示 |
ap或a | 使用 am/pm 顯示 |
到此這篇關(guān)于qt獲取當(dāng)前時(shí)間(QDateTime、QTime、QDate)的文章就介紹到這了,更多相關(guān)qt獲取當(dāng)前時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
記錄一個(gè)C++在條件查詢時(shí)遇到的問題(推薦)
這篇文章主要介紹了記錄一個(gè)C++在條件查詢時(shí)遇到的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01淺談Qt實(shí)現(xiàn)HTTP的Get/Post請(qǐng)求
本文主要介紹了淺談Qt實(shí)現(xiàn)HTTP的Get/Post請(qǐng)求,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Linux下用Valgrind做檢查(防止內(nèi)存泄露)
Valgrind是一款基于模擬linux下的程序調(diào)試器和剖析器的軟件套件,可以運(yùn)行于x86, amd64和ppc32架構(gòu)上。valgrind包含一個(gè)核心,它提供一個(gè)虛擬的CPU運(yùn)行程序,還有一系列的工具,它們完成調(diào)試,剖析和一些類似的任務(wù)2014-01-01C語(yǔ)言實(shí)現(xiàn)推箱子游戲的代碼示例
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)推箱子游戲的代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09C/C++獲取Windows平臺(tái)CPU占用率的方法
最近在做系統(tǒng)信息相關(guān)的接口,為了實(shí)現(xiàn)跨平臺(tái),故在linux和Windows平臺(tái)獲取占用率信息,文章主要介紹Windows下的方法,文中給出了參考代碼,需要的朋友可以參考下2023-12-12OpenCV實(shí)現(xiàn)輪廓的發(fā)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了OpenCV如何實(shí)現(xiàn)輪廓的發(fā)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05