本文整理汇总了C++中WorkItem::getStart方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkItem::getStart方法的具体用法?C++ WorkItem::getStart怎么用?C++ WorkItem::getStart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkItem
的用法示例。
在下文中一共展示了WorkItem::getStart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: avgRenderTime
QTime Job::avgRenderTime(int& days)
{
QTime sum,diff,midnight;
QDateTime left,right;
int tempDays,counter = 0,hour;
//24*60*60*1000 = 86400000
const long MS_PER_DAY = 86400000;
long daySeconds, timeSeconds;
WorkItem* currentItem = finished.first();
days = 0;
//traverse finished list
while(currentItem)
{
left = currentItem->getFinish();
right = currentItem->getStart();
diff = left.time() - right.time();
//if the hours combine to more than 24 add a day
hour = diff.hour() + sum.hour();
if(hour >= 24)
days++;
//add to sum
sum = diff + sum;
//find the days between start time and finish time
tempDays = right.daysTo(left);
//if the difference is greater than one day add the difference
if(tempDays > 0)
{
days = days + tempDays - 1;
if(diff >= midnight)
days++;
}
currentItem = finished.next();
counter++;
}
//now calculate the average.
//days must be converted into ms
//sum must be converted into ms
//the two must be added and devided by counter
daySeconds = ((double)days/counter)*24*60*60*1000;
timeSeconds = sum.hour()*60*60*1000 + sum.minute()*60*1000 + sum.second()*1000 + sum.msec();
if(counter > 0)
timeSeconds = timeSeconds/counter + daySeconds;
else
timeSeconds = 0;
midnight = midnight.addMSecs(timeSeconds%MS_PER_DAY);
days = timeSeconds/MS_PER_DAY;
return midnight;
}