2017-12-17 01:23:38 +03:00
|
|
|
#include "chronotime.h"
|
2018-08-16 09:46:47 +03:00
|
|
|
#include <QDateTime>
|
2017-12-17 01:23:38 +03:00
|
|
|
#include <QDebug>
|
|
|
|
|
2018-08-16 10:19:42 +03:00
|
|
|
/*
|
|
|
|
* information about chrono
|
|
|
|
* https://stackoverflow.com/questions/31255486/c-how-do-i-convert-a-stdchronotime-point-to-long-and-back
|
|
|
|
*/
|
2018-08-16 09:46:47 +03:00
|
|
|
milliseconds ChronoTime::stdTime() {
|
|
|
|
auto tim = std::chrono::system_clock::now();
|
|
|
|
auto mc = std::chrono::time_point_cast<std::chrono::milliseconds>(tim);
|
|
|
|
auto epoh = mc.time_since_epoch();
|
|
|
|
#ifdef QT_DEBUG
|
|
|
|
qDebug() << epoh.count();
|
|
|
|
#endif
|
|
|
|
return epoh.count();
|
|
|
|
}
|
|
|
|
|
|
|
|
milliseconds ChronoTime::qtTime() {
|
|
|
|
return QDateTime::currentMSecsSinceEpoch();
|
|
|
|
}
|
|
|
|
|
2017-12-17 01:23:38 +03:00
|
|
|
ChronoTime::ChronoTime()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2018-08-16 09:13:18 +03:00
|
|
|
milliseconds ChronoTime::now(milliseconds calibration){
|
2018-08-16 09:46:47 +03:00
|
|
|
return qtTime() + calibration;
|
2017-12-17 01:23:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Clock ChronoTime::from(const milliseconds& mc){
|
|
|
|
std::chrono::milliseconds dur(mc);
|
|
|
|
return Clock(dur);
|
|
|
|
}
|
|
|
|
|
|
|
|
milliseconds ChronoTime::abs(milliseconds number){
|
|
|
|
return (number << 1) >> 1;
|
|
|
|
}
|