項目中需要用到指定某個時間範圍內的隨機時間,遂寫下備忘。
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重新構建即可。
具體格式化可參考官方文檔,不贅述。