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,此屬性無(wú)效。
- 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)文章
static_cast,dynamic_cast,reinterpret_cast和const_cast的區(qū)別詳解
以下是對(duì)static_cast,dynamic_cast,reinterpret_cast和const_cast之間的區(qū)別進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來(lái)參考下2013-09-09
C++實(shí)現(xiàn)點(diǎn)云添加高斯噪聲功能
所謂高斯噪聲是指它的概率密度函數(shù)服從高斯分布(即正態(tài)分布)的一類噪聲,這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)點(diǎn)云添加高斯噪聲功能的相關(guān)資料,需要的朋友可以參考下2021-07-07
QT實(shí)戰(zhàn)之打開最近圖片功能的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何利用Qt和QSettings實(shí)現(xiàn)打開最近圖片功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)QT有一定的幫助,感興趣的可以了解一下2022-06-06
C++實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
C/C++百行代碼實(shí)現(xiàn)熱門游戲消消樂功能的示例代碼
這篇文章主要介紹了C/C++百行代碼實(shí)現(xiàn)熱門游戲消消樂功能的示例代碼,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
C++?JSON庫(kù)?nlohmann::basic_json::array?的用法示例詳解
nlohmann::json是一個(gè)C++的JSON庫(kù),它提供了一種容易和直觀的方法來(lái)處理JSON數(shù)據(jù),nlohmann::json::array()是用來(lái)創(chuàng)建一個(gè)JSON數(shù)組的方法,這篇文章主要介紹了C++ JSON庫(kù)nlohmann::basic_json::array的用法,需要的朋友可以參考下2023-06-06
C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06

