Qt:獲取日期和時間
前言
一般而言,作業系統(Windows/Linux/Mac)的核心函式都會給出了日期時間的相關係統庫函式,Qt在此基礎上進行了封裝,提供了獲取時間和日期的3個相關類——QDateTime、QDate、QTime,使其在Qt內部空間之間的使用更加便捷。
QDateTime獲取日期和時間
QDateTime顧名思義,獲取日期和時間,呼叫靜態成員函式可直接獲取字串值,同時可以控制顯示格式:
QDateTime dateTime(QDateTime::currentDateTime());
QString qStr = dateTime.toString("yyy-MM-dd hh:mm::ss ddd");
顯示效果如下:
其中,控制字串的格式如下表:
格式 | 備註 |
---|---|
d | 天數,範圍1~31 |
dd | 天數,範圍01~31,字首自動補一位零 |
ddd | 星期天數縮寫,以本地作業系統為準(如,漢字的週一到週日,英文的Mon.到Sun.) |
dddd | 星期天數全程,以本地作業系統為準(如,漢字的星期一到星期日,英文的Monday到Sunday) |
M | 月數,範圍1~12 |
MM | 月數,範圍01~12,自動補一位零 |
MMM | 月數名稱縮寫,預設本地作業系統值(如,漢字的1月到12月,英文的Ja) |
MMMM | 月數名稱全程,預設本地作業系統值(如,漢字的一月到十二月) |
yy | 年份的後兩位,範圍00~99 |
yyyy | 年份的四位全稱 |
h | 沒有補零的小時數,範圍0~23或1 ~12 |
hh | 自動補零的小時數,範圍00~23或01 ~12 |
H | 沒有補零的小時數,範圍0~23(即便12小時制也是如此) |
HH | 自動補零的小時數,範圍0~23(即便12小時制也是如此) |
m | 分鐘數,範圍0~59 |
mm | 自動補零分鐘數,範圍00~59 |
s | 秒鐘數,範圍0~59 |
ss | 自動補零秒鐘數,範圍00~59 |
z | 秒鐘的小數部分(毫秒),精確範圍 0-999 |
zzz | 秒鐘的小數部分,自動補零3位,範圍000-999 |
AP(A) | 使用12小時制,顯示AM/PM |
ap(a) | 使用12小時制,顯示am/pm |
t | 時區 |
以上任意欄位可以隨機排序,沒有任何限制,但是要注意有大小寫之分。
QDate獲取日期
QDate顧名思義,即獲取日期。呼叫靜態成員函式可直接獲取日期年月日的整型值:
QDate date(QDate::currentDate());
int year = date.year();
int month = date.month();
int day = date.day();
QTime獲取時間
QDate顧名思義,即獲取時間。呼叫靜態成員函式可直接獲取時間時分秒的整型值:
QTime time(QTime::currentTime());
int hour = time.hour();
int minute = time.minute();
int second = time.second();
總結
QDateTime、QDate、QTime的強大不止於此,Qt官方提供了各種各種基於日期和時間的操作,如果感興趣的話,可以從官方API或者原始碼的角度去學習和解讀,在此不再累述。
相關文章
- QT獲取日期,時間,星期QT
- 《Qt5+QDate和QTime獲取當前系統日期和時間》QT
- Qt 獲取程式編譯時間QT編譯
- 獲取當前時間往前的日期
- 細說PHP筆記08(第12章)--日期和時間,建立時間戳,mktime轉換unix時間戳,獲取字串時間,獲得日期和時間資訊,日期和時間格式化輸出,microtime()獲取微秒數PHP筆記時間戳字串
- JavaScript 獲取指定時間前幾天日期JavaScript
- Android開發:獲取當前系統時間和日期的方法Android
- QT顯示當前日期時間QT
- java獲取日期差以及幾天前和幾天後的時間Java
- 日期和時間
- JavaScript獲取兩個日期之間所有的日期JavaScript
- java獲取指定日期之前或之後的時間Java
- Qt中利用定時器QTimer實時顯示當前日期和時間QT定時器
- C++ Qt開發:DateTime日期時間元件C++QT元件
- 日期和時間格式
- Python 日期和時間Python
- Java日期和時間Java
- datetime日期和時間
- 使用 Carbon 獲取指定時間範圍內的日期陣列陣列
- 關於 Date 函式獲取各類時間/日期/天數函式
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- 使用Python獲取DNS解析時間和響應時間PythonDNS
- 直播原始碼,獲取兩個日期之間的所有日期原始碼
- Python獲取當前日期和日期差計算Python
- solaries使用date獲取前一天日期,使用perl命令獲取歷史時間方法
- SQL 獲取SQL Server中兩個日期之間的所有日期SQLServer
- 獲取中文日期
- js獲取日期JS
- java獲取時間戳和隨機數Java時間戳隨機
- 原生JS獲取日期段及時間比較的騷操作(基本操作)JS
- MySQL 獲得當前日期時間(以及時間的轉換)MySql
- MySQL如何獲取binlog的開始時間和結束時間MySql
- 獲取系統時間
- php 獲取時間差PHP
- 獲取當前時間
- SQL 獲取SQL Server中日期最近7天之間的所有日期SQLServer
- 【Python基礎】日期和時間Python
- 儲存過程-獲取前一年年份和獲取varchar型別日期的日 月 年 時間等儲存過程型別