前言
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.yyyy | 21.05.2001 |
ddd MMMM d yy | Tue May 21 01 |
hh:mm:ss.zzz | 14:13:09.042 |
h: m: s ap | 2: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