QT5 QTime的用法,利用QTime产生随机数

前言

QTime可以用来获取并显示当前系统时间,还可以利用系统时间产生随机数。


具体说明

currentTime() 可以获取当前系统时间;
toString() 可以将当前时间转换为字符串。


利用QTime产生随机数

一种产生随机数的方法如下:

    QTime time;
    time= QTime::currentTime();
    qsrand(time.msec()+time.second()*1000);
    int n = qrand() % 9;

就产生了1-9的随机数n,如果要产生两位随机数,则改为99,三位改为999。


改变字符串格式

利用QTime获取的系统时间可以转换为字符串改变格式,方法类似于QDateTime的使用
可参见我的博客:https://blog.csdn.net/iXiaochu/article/details/97650252

1、关于月份的格式说明
描述解释
d日期为数字,不带零(1到31)
dd日数以零开头(01到31)
ddd本地化名称(例如“mon”到“sun”)。使用系统本地化名称,即qlocale::system()
dddd长本地化日期名称(例如“Monday”到“Qt::Sunday”)
m月份为数字,不带零(1-12)
mm月份以零开头(01-12)
mmm是本地化月份名称(例如“jan”到“dec”)
mmmm长本地化月份名称(例如“一月”到“十二月”)
yy以两位数表示的年份(00-99)
yyyy以四位数表示的年份
2、关于时间的格式说明
描述解释
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 or A使用AM/PM显示。A/AP将替换为“AM”或“PM”。
ap or a使用am/pm显示。a/ap将替换为“am”或“pm”。
t时区(例如“CEST”)

例如

格式显示效果
dd.MM.yyyy21.05.2001
ddd MMMM d yyTue May 21 01
hh:mm:ss.zzz14:13:09.042
h: m: s ap2:13:9 pm
QDateTime current_data_time = QDateTime::currentDateTime();
QString current_data = current_data_time.toString("yyyy.MM.dd_hh.mm.ss");

显示效果为:2019.08.27_09.37.24


QTimer定时器用法参见我的博客:https://blog.csdn.net/iXiaochu/article/details/97154032

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值