打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Qt:获取日期和时间

前言

  一般而言,操作系统(Windows/Linux/Mac)的内核函数都会给出了日期时间的相关系统库函数,Qt在此基础上进行了封装,提供了获取时间和日期的3个相关类——QDateTime、QDate、QTime,使其在Qt内部空间之间的使用更加便捷。

QDateTime获取日期和时间

  QDateTime顾名思义,获取日期和时间,调用静态成员函数可直接获取字符串值,同时可以控制显示格式:

QDateTime dateTime(QDateTime::currentDateTime());
QString qStr = dateTime.toString("yyy-MM-dd hh:mm::ss ddd");

  显示效果如下:


  其中,控制字符串的格式如下表:

格式备注
d天数,范围1~31
dd天数,范围01~31,前缀自动补一位零
ddd星期天数缩写,以本地操作系统为准(如,汉字的周一到周日,英文的Mon.到Sun.)
dddd星期天数全程,以本地操作系统为准(如,汉字的星期一到星期日,英文的Monday到Sunday)
M月数,范围1~12
MM月数,范围01~12,自动补一位零
MMM月数名称缩写,默认本地操作系统值(如,汉字的1月到12月,英文的Ja)
MMMM月数名称全程,默认本地操作系统值(如,汉字的一月到十二月)
yy年份的后两位,范围00~99
yyyy年份的四位全称
h没有补零的小时数,范围0~23或1 ~12
hh自动补零的小时数,范围00~23或01 ~12
H没有补零的小时数,范围0~23(即便12小时制也是如此)
HH自动补零的小时数,范围0~23(即便12小时制也是如此)
m分钟数,范围0~59
mm自动补零分钟数,范围00~59
s秒钟数,范围0~59
ss自动补零秒钟数,范围00~59
z秒钟的小数部分(毫秒),精确范围 0-999
zzz秒钟的小数部分,自动补零3位,范围000-999
AP(A)使用12小时制,显示AM/PM
ap(a)使用12小时制,显示am/pm
t时区

  以上任意字段可以随机排序,没有任何限制,但是要注意有大小写之分。

QDate获取日期

  QDate顾名思义,即获取日期。调用静态成员函数可直接获取日期年月日的整型值

QDate date(QDate::currentDate());
int year = date.year();
int month = date.month();
int day = date.day();

QTime获取时间

  QDate顾名思义,即获取时间。调用静态成员函数可直接获取时间时分秒的整型值

QTime time(QTime::currentTime());
int hour = time.hour();
int minute = time.minute();
int second = time.second();

总结

  QDateTime、QDate、QTime的强大不止于此,Qt官方提供了各种各种基于日期和时间的操作,如果感兴趣的话,可以从官方API或者源码的角度去学习和解读,在此不再累述。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Qt小案例——时间模块
Qt非阻塞延时大坑
qt控件的使用
EXCEL日期函数应用
Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:
Qt生成随机数的方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服