《Qt5+QDate和QTime獲取當前系統日期和時間》

歐陽磊發表於2018-11-21

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")

 

完整程式碼


QDate簡單示例連結:https://pan.baidu.com/s/1zOM-PDjDhsKboKCxSlp50A 
提取碼:xo0j 

QTime簡單示例連結:https://pan.baidu.com/s/1HIyJTbIbrpO6CLlq9CalCA 
提取碼:7bm5 

 

相關文章