//
|
// Created by ps on 18-9-30.
|
//
|
|
#include<QDateTime>
|
#include <iostream>
|
|
using namespace std;
|
|
typedef struct {
|
int Year;
|
int Month;
|
int Day;
|
int Hour;
|
int Minute;
|
int Second;
|
} TimeSt, *pTimeSt;
|
|
void DownLoad(QDateTime startTime, QDateTime endTime) {
|
cout << __FUNCTION__ << " " << startTime.toString("yyyy-MM-dd hh:mm:ss").toStdString() << endl;
|
cout << __FUNCTION__ << " " << endTime.toString("yyyy-MM-dd hh:mm:ss").toStdString() << endl;
|
|
|
cout << "\n\n\n" << endl;
|
}
|
|
void testFunc(QDateTime startTime, QDateTime endTime);
|
|
void testFunc(QDateTime startTime, QDateTime endTime) {
|
|
int loop = 0;
|
|
QDateTime tmp_EndTime = startTime.addSecs(1 * 60 * 15);
|
if (tmp_EndTime < endTime) {
|
DownLoad(startTime, tmp_EndTime);
|
testFunc(tmp_EndTime, endTime);
|
} else {
|
DownLoad(startTime, endTime);
|
return;
|
}
|
|
|
}
|
|
|
int main() {
|
|
|
QDateTime startTime = QDateTime::fromString("2018-10-08 13:03:07", "yyyy-MM-dd hh:mm:ss");
|
// QDateTime startTime = QDateTime::currentDateTime();//即将下载的文件的开始时间
|
QDateTime endTime;//记录更新时间
|
|
int nDuration = 2;
|
endTime = startTime.addSecs(nDuration * 60 * 59);
|
|
cout << __LINE__ << " " << startTime.toString("yyyy-MM-dd hh:mm:ss").toStdString() << endl;
|
cout << __LINE__ << " " << endTime.toString("yyyy-MM-dd hh:mm:ss").toStdString() << endl;
|
|
|
//task_time Start
|
TimeSt stTimeSt;
|
stTimeSt.Year = startTime.date().year();
|
stTimeSt.Month = startTime.date().month();
|
stTimeSt.Day = startTime.date().day();
|
stTimeSt.Hour = startTime.time().hour();
|
stTimeSt.Minute = startTime.time().minute();
|
stTimeSt.Second = startTime.time().second();
|
|
|
char ch_StringStartTime[128];
|
sprintf(ch_StringStartTime, "%04d-%02d-%02d %02d:%02d:%02d", stTimeSt.Year, stTimeSt.Month, stTimeSt.Day,
|
stTimeSt.Hour,
|
stTimeSt.Minute, stTimeSt.Second);
|
string str_StringStartTime(ch_StringStartTime);
|
// string str_StringStartTime(
|
// to_string(stTimeSt.Year) + "-" + to_string(stTimeSt.Month) + "-" + to_string(stTimeSt.Day) + " "
|
// + to_string(stTimeSt.Hour) + ":" + to_string(stTimeSt.Minute) + ":" +
|
// to_string(stTimeSt.Second));
|
|
cout << "str_____" << str_StringStartTime << endl;
|
QDateTime
|
taskStartTime = QDateTime::fromString(QString::fromStdString(str_StringStartTime), "yyyy-MM-dd hh:mm:ss");
|
cout << taskStartTime.toString("yyyy-MM-dd hh:mm:ss").toStdString() << endl;
|
//task_time Start -------------------------------------------------
|
|
//task_time end
|
TimeSt endTimeSt;
|
endTimeSt.Year = endTime.date().year();
|
endTimeSt.Month = endTime.date().month();
|
endTimeSt.Day = endTime.date().day();
|
endTimeSt.Hour = endTime.time().hour();
|
endTimeSt.Minute = endTime.time().minute();
|
endTimeSt.Second = endTime.time().second();
|
|
char ch_StringEndTime[128];
|
sprintf(ch_StringEndTime, "%04d-%02d-%02d %02d:%02d:%02d", endTimeSt.Year, endTimeSt.Month, endTimeSt.Day,
|
endTimeSt.Hour, endTimeSt.Minute, endTimeSt.Second);
|
string str_StringEndTime(ch_StringEndTime);
|
|
// string str_StringEndTime(
|
// to_string(endTimeSt.Year) + "-" + to_string(endTimeSt.Month) + "-" + to_string(endTimeSt.Day) + " "
|
// + to_string(endTimeSt.Hour) + ":" + to_string(endTimeSt.Minute) + ":" +
|
// to_string(endTimeSt.Second));
|
|
cout << "str_____" << str_StringEndTime << endl;
|
QDateTime
|
taskEndTime = QDateTime::fromString(QString::fromStdString(str_StringEndTime), "yyyy-MM-dd hh:mm:ss");
|
cout << taskEndTime.toString("yyyy-MM-dd hh:mm:ss").toStdString() << endl;
|
//task_time end -------------------------------------------------
|
|
|
cout << "\n\n\n" << endl;
|
|
testFunc(taskStartTime, taskEndTime);
|
|
return 0;
|
|
}
|