【qt】一次性讲清楚日期和时间1

简介: 【qt】一次性讲清楚日期和时间

一.QTime类

1.初始化

可以直接构造函数初始化,时 分 秒 毫秒

#include <QTime>
...
QTime time(8,29,24,234);
qDebug()<<time;

运行结果:

2.获取当前时间

可以用QTime的静态方法**currentTime()**来获取当前的时间

time=QTime::currentTime();
qDebug()<<time;

运行结果:

哈哈,被你们发现我现在在写博客了。

3.获取 小时 分钟 秒 毫秒

可以用相应的接口来获取

    int h=time.hour();
    int m=time.minute();
    int s=time.second();
    int ms=time.msec();
    qDebug()<<h<<m<<s<<ms;

运行结果:

4.增加时间

有的时候我们需要对时间来进行修改,可以用到接口addSecs()

这个是增加秒,3600就相当于一个小时。

    qDebug()<<time;
    time=time.addSecs(3600);
    qDebug()<<time;

运行结果:

同时还可以负数就是返方向的钟

    qDebug()<<time;
    time=time.addSecs(-3600);
    qDebug()<<time;

运行结果:

5.间隔时间

有的时间我们需要来算时间差,就可以用到secsTo这个接口,当然这个是以秒来计算的。

    QTime time1(12,28,12,23);
    qDebug()<<time.secsTo(time1);

运行结果:

6.字符串转时间

对于qt的界面设计,我们还是要知道字符串如何转到时间,可以用QTime的静态方法fromString接口。

可以使用通配符 h m s z 对应相应的时间,一位对一个

QTime time2=QTime::fromString("9点23分51秒237毫秒","h点mm分ss秒zzz毫秒");
qDebug()<<time2;

运行结果:

7.时间转字符串

同理,时间转字符串我们也要知道,用toString这个接口来实现。

QString ret=time2.toString();
qDebug()<<ret;

运行结果:

当然也可以用通配符来格式化

QString ret=time2.toString("h小时mm分ss秒zzz毫秒");
qDebug()<<ret;

运行结果:

二.QDate类

有了QTime的学习,QDate其实基本一样,咱们也来过一遍吧!

1.初始化

QDate date(2024,5,15);
qDebug()<<date;

运行结果:

2.获取当前日期

date=QDate::currentDate();
qDebug()<<date;

运行结果:

让你们知道我的时间了,哈哈哈

3.设置日期

如果我想回到高考,我不能时光倒流,但是我可以修改时间,嘿嘿嘿,在程序的世界里,我就是上帝。

date.setDate(2022,6,7);
qDebug()<<date;

运行结果:

4.获取 年 月 日

    int y=date.year();
    int m=date.month();
    int d=date.day();
    qDebug()<<y<<m<<d;

运行结果:

5.各种小接口

    date=QDate::currentDate();
    qDebug()<<date;
    qDebug()<<date.dayOfYear();//这一年的第几天
    qDebug()<<date.dayOfWeek();//这一天是星期几(0~6)0是星期天
    qDebug()<<date.daysInYear();//这一年有多少天
    qDebug()<<date.daysInMonth();//这一个月有多少天
    qDebug()<<date.weekNumber();//这个是这一年的第几周

运行结果:

你也来试试看吧!

6.增加日期

同样的,日期也可以通过addDays接口,只不过是以天为单位

qDebug()<<date;
date=date.addDays(6);
qDebug()<<date;

运行结果:

7.日期间隔

接口daysTo

QDate date1=QDate::currentDate();
qDebug()<<date1.daysTo(date);

运行结果:

8.字符串转日期

与时间同样的接口fromString

通配符为 y M d,大写的M是为了区分小写的秒 m

QDate date2=QDate::fromString("2024年5月20日","yyyy年M月dd日");
qDebug()<<date2;

运行结果:

9.日期转字符串

不用通配符的话,会生成一个默认的打印格式

QString ret=date2.toString();
qDebug()<<ret;

运行结果:

用通配符来进行格式化

QString ret=date2.toString("yyyy年M月dd日");
qDebug()<<ret;

运行结果:

【qt】一次性讲清楚日期和时间2:https://developer.aliyun.com/article/1522999

相关文章
|
1月前
(5)Qt中的日期和时间
本文介绍了Qt中处理日期和时间的类QDate、QTime和QDateTime,包括它们的格式化选项、构造函数、公共成员函数以及如何进行日期和时间的增减、比较,同时提到了QElapsedTimer作为QTime的替代品用于计时。
98 0
|
6月前
【qt】一次性讲清楚日期和时间2
【qt】一次性讲清楚日期和时间
46 0
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
183 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
3月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
90 0
|
2月前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
|
2月前
|
3月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
162 2
Qt开发网络嗅探器02
Qt开发网络嗅探器02
|
3月前
|
存储 运维 监控
Qt开发网络嗅探器01
Qt开发网络嗅探器01
|
3月前
|
网络协议 容器
Qt开发网络嗅探器03
Qt开发网络嗅探器03