项目中需要用到指定某个时间范围内的随机时间,遂写下备忘。
QString MainWindow::generateTime(){
int timeBegin,timeNow,t;
QString str;
QDateTime time=QDateTime::currentDateTime();//获取当前时间
QDateTime timeFinal;
timeNow=time.toTime_t();//时间转换为时间戳
timeBegin=1483536993;//https://tool.lu/timestamp/这个时间戳转换网站 这边默认开始时间固定,也可以随时指定,加在函数变量中即可
t=rand()%(timeNow-timeBegin); //获取一个随机数
t=timeNow-t;//当前时间减去随机数得到目标随机时间的时间戳
timeFinal=QDateTime::fromTime_t(t);//时间戳转为时间
str=timeFinal.toString("yyyy-MM-dd hh:mm:ss");//时间输出的格式化
return str;
}
我也碰到时间输出格式化不成功的问题,一番摸索,重新编译执行qmake重新构建即可。
具体格式化可参考官方文档,不赘述。