You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.3 KiB
C++
80 lines
1.3 KiB
C++
#include "ctime.h"
|
|
|
|
|
|
CTime::CTime() : QTime()
|
|
{
|
|
}
|
|
|
|
CTime::CTime(int h, int m, int s, int ms) : QTime(h, m, s, ms)
|
|
{
|
|
}
|
|
|
|
CTime::CTime(const QTime& param)
|
|
{
|
|
setHMS(param.hour(), param.minute(), param.second(), param.msec());
|
|
}
|
|
|
|
CTime::CTime(uint32_t dwTime)
|
|
{
|
|
setHMS(HOURS(dwTime), MINUTES(dwTime), SECONDS(dwTime));
|
|
}
|
|
|
|
CTime::CTime(const QString& time)
|
|
{
|
|
QString szHour;
|
|
QString szMinute;
|
|
QString szSecond;
|
|
QString tmp = time;
|
|
|
|
if(tmp.contains(":"))
|
|
{
|
|
szSecond = tmp.mid(tmp.lastIndexOf(":")+1);
|
|
tmp = tmp.left(tmp.lastIndexOf(":"));
|
|
}
|
|
else
|
|
{
|
|
szSecond = tmp;
|
|
tmp = "";
|
|
}
|
|
|
|
if(tmp.contains(":"))
|
|
{
|
|
szMinute = tmp.mid(tmp.lastIndexOf(":")+1);
|
|
tmp = tmp.left(tmp.lastIndexOf(":"));
|
|
}
|
|
else
|
|
{
|
|
szMinute = tmp;
|
|
tmp = "";
|
|
}
|
|
szHour = tmp;
|
|
setHMS(szHour.toInt(), szMinute.toInt(), szSecond.toInt());
|
|
}
|
|
|
|
QString CTime::Format()
|
|
{
|
|
if(!hour() && !minute() && !second())
|
|
return(QString(""));
|
|
QString szTime;
|
|
if(hour())
|
|
szTime = toString(QString("h:mm:ss"));
|
|
else
|
|
szTime = toString(QString("mm:ss"));
|
|
return(szTime);
|
|
}
|
|
|
|
const CTime& CTime::operator=(const CTime& param)
|
|
{
|
|
setHMS(param.hour(), param.minute(), param.second(), param.msec());
|
|
return(*this);
|
|
}
|
|
|
|
uint32_t CTime::toDWORD()
|
|
{
|
|
uint32_t h = hour();
|
|
uint32_t m = minute();
|
|
uint32_t s = second();
|
|
uint32_t t = h*3600+m*60+s;
|
|
return(t);
|
|
}
|