【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

相关文章
|
30天前
【qt】一次性讲清楚日期和时间2
【qt】一次性讲清楚日期和时间
15 0
|
1月前
|
JavaScript 小程序 前端开发
JS将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法
JS将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法
|
11月前
|
JavaScript
uniapp 按时间排序当前以后七天时间
uniapp 按时间排序当前以后七天时间
157 1
|
安全 Java Linux
正确认识及掌握时间的用法
时间是一个相对地区而言的概念,因此有一个基准地区,就是本初子午线穿过的地区。了解世界时间相关的概念可以更好地协调全球人们的活动,便于跨越不同地区的时差。比如按照UTC时区划分算,洛杉矶和北京 之间的时间差异是16个小时, 但是一旦洛杉矶启用了夏令时两者之间的时间差异只有15个小时,神奇吗?
208 0
正确认识及掌握时间的用法
|
前端开发
【React工作记录七十二】时间秒转换为毫秒
【React工作记录七十二】时间秒转换为毫秒
76 0
你花了两天时间,就给老子写了两行代码?!
你花了两天时间,就给老子写了两行代码?!
64 0
|
存储 算法 Unix
C++ 日期和时间编程总结
在 C++11 之前,C++ 编程只能使用 C-style 日期时间库,其精度只有秒级别,这对于有高精度要求的程序来说,是不够的。但这个问题在C++11 中得到了解决,C++11 中不仅扩展了对于精度的要求,也为不同系统的时间要求提供了支持。另一方面,对于只能使用 C-style 日期时间库的程序来说,C++17 中也增加了 timespec 将精度提升到了纳秒级别。
333 1
【SQL开发实战技巧】系列(十七):数据仓库中时间类型操作(初级)确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数
如何确定两个日期之间的工作日有多少天、计算—年中每周内各日期出现次数、确定当前记录和下一条记录之间相差的天数【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。本章节的三个需求:确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数有些许难度,不过建议还是学会比较好。
【SQL开发实战技巧】系列(十七):数据仓库中时间类型操作(初级)确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数
|
数据采集 运维 前端开发
我用三个月时间仿造了一个稿定设计 | 2022年中总结
回想当时我还在做着一些零散的项目需求,这时候领导给了我一个任务,说让我重构一个“在线PS”,我就在这样一个没有产品、没有UI、研发只有1人、开发工时约等于没有的情况下,在追逐竞品的无限挫败感中,勉强完成了第一版的开发。
封装时间戳转具体时间工具
封装时间戳转具体时间工具
127 0
封装时间戳转具体时间工具