qt-實時顯示本地時間、以及QDateTime的使用

爆炒皮卡丘發表於2019-10-17

 實現程式碼:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QTime currentTime = QTime::currentTime();

    QLabel *myLabel = new QLabel(this);
    myLabel->resize(200,100);
    //首先定義文字框顯示的是現在的時間
    myLabel->setText(QString(currentTime.toString()));
    
    //建立定時器,設定一秒觸發一次
    QTimer *myTimer = new QTimer(this);
    myTimer->start(1000);
    //每次定時器觸發一次,就更改文字框的內容
    connect(myTimer,&QTimer::timeout,this,[=](){
        QTime currentTime = QTime::currentTime();
        myLabel->setText(QString(currentTime.toString()));
    });
}

 

以下是QDateTime的輸出方式

 日期格式符:

d          沒有前導零的數字的日期(1到31)

ddd      縮寫的本地化日期名稱(例如'Mon'到'Sun'
dddd    完整本地化的日期名稱(例如“星期一”到“星期日”)
M         沒有前導零的數字的月份(1-12)
MM      月份為前導零的數字(01-12)
MMM   縮寫的本地化月份名稱(例如'Jan'到'Dec')
MMMM   完整的本地化月份名稱(例如“1月”到“12月”)
yy     年份為兩位數字(00-99)
yyyy    年份為四位數字

 

時間格式符:

h         沒有前導零的小時(如果顯示AM / PM,則為0到23或1到12)
hh       前導零的小時(如果AM / PM顯示,則為00到23或01到12)
H        沒有前導零的小時(0到23,即使有AM / PM顯示)
HH     前導零的小時(00到23,即使有AM / PM顯示)
m        沒有前導零的分鐘(0到59)
mm      前導零(00到59)的分鐘
s           整個秒沒有前導零(0到59)
ss        帶有前導零(00到59)
z         第二個小數部分, 沒有尾隨零的毫秒(0到999)
zzz       第二個小數部分, 有尾隨零的毫秒(000到999)
AP / A      使用AM / PM顯示                AM--上午    PM--下午
ap / a       使用am / pm顯示
t             時區

QDateTime d(QDateTime::currentDateTime());
    qDebug()<<d.toString("yy.MM.dd") ;          //19.10.17  當地時間2019.10.17

 

相關文章