《Qt5+QDate和QTime獲取當前系統日期和時間》
阿新 • • 發佈:2019-01-26
QDate物件包含日曆日期,即年,月,日的數字。它可以從系統時鐘讀取當前日期,提供了比較日期和操作日期的功能。例如,可以在日期中新增和減去天,月和年。QTime物件包含一個時鐘時間,即自午夜的小時,分鐘,秒和毫秒數。它可以從系統時鐘讀取當前時間並測量經過時間的跨度,它提供了通過新增毫秒數來比較時間和操作時間的功能。
QDate簡單示例
#include "mainwindow.h" #include "ui_mainwindow.h" #include "QDate" #include "QDebug" #include "QString" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QDate D1; QDate D2(1995,1,26); qDebug() << "D2:" <<D2; D1=QDate::currentDate(); qDebug() << "D1:" << D1;//獲取當前日期 qDebug() << "year:" << D1.year();//獲取年 qDebug() << "month:" << D1.month();//獲取月 qDebug() << "day:" << D1.day();//獲取日 qDebug() << "isValid:" << D1.isValid();//日期是否合法 qDebug() << "dayOfWeek:" << D1.dayOfWeek();//今天是周幾 qDebug() << "dayOfYear:" << D1.dayOfYear();//當前是這一年的第多少天 qDebug() << "daysInMonth:" << D1.daysInMonth();//這個月有多少天 qDebug() << "daysInYear:" << D1.daysInYear();//這一年有多少天 qDebug() << "isNull:" << D1.isNull();//日期是否為空,為空返回true qDebug() << "daysTo:" << D1.daysTo(D2);//比較兩個日期相差多少天,D2比D1早為負數 qDebug() << "isLeapYear:" << QDate::isLeapYear(D1.year());//是否閏年 } MainWindow::~MainWindow() { delete ui; }
輸出結果
D2: QDate("1995-01-26")
D1: QDate("2018-11-21")
year: 2018
month: 11
day: 21
isValid: true
dayOfWeek: 3
dayOfYear: 325
daysInMonth: 30
daysInYear: 365
isNull: false
daysTo: -8700
isLeapYear: false
QTime簡單示例
#include "mainwindow.h" #include "ui_mainwindow.h" #include "QTime" #include "QDebug" #include "QString" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QTime T1; QTime T2(12,9,26); QTime T3; qDebug() << "T2:" <<T2; T1=QTime::currentTime(); qDebug() << "T1:" << T1;//獲取當前日期 qDebug() << "hour:" << T1.hour();//獲取時 qDebug() << "minute:" << T1.minute();//獲取分 qDebug() << "second:" << T1.second();//獲取秒 qDebug() << "msec:" << T1.msec();//獲取毫秒 qDebug() << "isValid:" << T1.isValid();//時間是否合法 qDebug() << "secsTo:" << T1.secsTo(T2);//比較兩個時間相差多少秒,T2比T1早為負數 qDebug() << "msecsTo:" << T1.msecsTo(T2);//比較兩個時間相差多少毫秒,T2比T1早為負數 qDebug() << "msecsSinceStartOfDay:" << T1.msecsSinceStartOfDay();//返回自當天的毫秒數 qDebug() << "isNull:" << T1.isNull();//日期是否為空,為空返回true T3.start(); qDebug() << "T3:" << T3;//獲取T3 for(int i=0;i<1000000;i++) { ; } T3.elapsed(); qDebug() << "T3:" << T3;//獲取T3 } MainWindow::~MainWindow() { delete ui; }
輸出結果
T2: QTime("12:09:26.000")
T1: QTime("11:57:10.193")
hour: 11
minute: 57
second: 10
msec: 193
isValid: true
secsTo: 736
msecsTo: 735807
msecsSinceStartOfDay: 43030193
isNull: false
T3: QTime("11:57:10.194")
T3: QTime("11:57:10.194")
完整程式碼