qt-实时显示本地时间、以及QDateTime的使用

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 11:45   68   0

实现代码:

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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP