104 lines
2.4 KiB
C++
104 lines
2.4 KiB
C++
#include "atb_time.h"
|
|
|
|
|
|
ATBTime::ATBTime()
|
|
: m_end(QDateTime::fromString("1970-01-02T00:00:00"))
|
|
, m_time(QDateTime::fromString("1970-01-01T00:00:00")) {
|
|
}
|
|
|
|
ATBTime::ATBTime(int h, int m, int s, int ms)
|
|
: m_end(QDateTime::fromString("1970-01-02T00:00:00"))
|
|
, m_time(QDateTime::fromString("1970-01-01T00:00:00")) {
|
|
|
|
QTime t(h, m, s, ms);
|
|
m_time.setTime(t);
|
|
}
|
|
|
|
QTime ATBTime::addMSecs(int ms) const {
|
|
return m_time.time().addMSecs(ms);
|
|
}
|
|
|
|
QTime ATBTime::addMSecs(int ms) {
|
|
QTime t = m_time.time();
|
|
t = t.addMSecs(ms);
|
|
m_time.setTime(t);
|
|
return t;
|
|
}
|
|
|
|
QTime ATBTime::addSecs(int s) const {
|
|
return m_time.time().addSecs(s);
|
|
}
|
|
|
|
QTime ATBTime::addSecs(int s) {
|
|
QTime t = m_time.time();
|
|
t = t.addSecs(s);
|
|
m_time.setTime(t);
|
|
return t;
|
|
}
|
|
|
|
constexpr QTime ATBTime::fromMSecsSinceStartOfDay(int msecs) {
|
|
return QTime::fromMSecsSinceStartOfDay(msecs);
|
|
}
|
|
|
|
QTime ATBTime::fromString(QString const &string, Qt::DateFormat format) {
|
|
return QTime::fromString(string, format);
|
|
}
|
|
|
|
QTime ATBTime::fromString(QString const &string, QString const &format) {
|
|
return QTime::fromString(string, format);
|
|
}
|
|
|
|
bool ATBTime::isValid(int h, int m, int s, int ms) {
|
|
return QTime(h, m, s, ms).isValid();
|
|
}
|
|
|
|
int ATBTime::msecsSinceStartOfDay() const {
|
|
return m_time.time().msecsSinceStartOfDay();
|
|
}
|
|
|
|
bool ATBTime::setHMS(int h, int m, int s, int ms) {
|
|
if (isValid(h, m, s, ms)) {
|
|
QTime t(h, m, s, ms);
|
|
m_time.setTime(t);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
QString ATBTime::toString(Qt::DateFormat format) const {
|
|
return m_time.time().toString(format);
|
|
}
|
|
|
|
bool operator!=(const ATBTime &lhs, const ATBTime &rhs) noexcept {
|
|
return lhs.m_time.time() != rhs.m_time.time();
|
|
}
|
|
|
|
bool operator<=(const ATBTime &lhs, const ATBTime &rhs) noexcept {
|
|
return lhs.m_time.time() <= rhs.m_time.time();
|
|
|
|
}
|
|
|
|
bool operator<(const ATBTime &lhs, const ATBTime &rhs) noexcept {
|
|
return lhs.m_time.time() < rhs.m_time.time();
|
|
}
|
|
|
|
bool operator>(const ATBTime &lhs, const ATBTime &rhs) noexcept {
|
|
return lhs.m_time.time() > rhs.m_time.time();
|
|
}
|
|
|
|
bool operator==(const ATBTime &lhs, const ATBTime &rhs) noexcept {
|
|
return lhs.m_time.time() == rhs.m_time.time();
|
|
}
|
|
|
|
QDataStream &operator<<(QDataStream &out, ATBTime time) {
|
|
out << time.m_time.time();
|
|
return out;
|
|
}
|
|
|
|
QDataStream &operator>>(QDataStream &in, ATBTime &time) {
|
|
QTime t;
|
|
in >> t;
|
|
time.m_time.setTime(t);
|
|
return in;
|
|
}
|