+ utc time with timezone

This commit is contained in:
wmayer 2014-12-10 15:39:45 +01:00
parent 7a8492fddc
commit ae3755cf01
2 changed files with 12 additions and 11 deletions

View File

@ -110,6 +110,7 @@
#include <QEvent>
#include <QIODevice>
#include <QDataStream>
#include <QDateTime>
#include <QWriteLocker>
#include <QReadLocker>
#include <QReadWriteLock>

View File

@ -25,6 +25,7 @@
#ifndef _PreComp_
# include <sstream>
# include <QDateTime>
#endif
#include "TimeInfo.h"
@ -70,14 +71,13 @@ void TimeInfo::setTime_t (uint64_t seconds)
std::string TimeInfo::currentDateTimeString()
{
char timebuff[30]= {0};
struct tm* systime;
time_t sec;
time(&sec);
systime = localtime(&sec);
strftime(timebuff,30,"%Y-%m-%dT%H:%M:%S%z",systime);
return std::string(timebuff);
QDateTime local = QDateTime::currentDateTime();
QDateTime utc = local.toUTC();
utc.setTimeSpec(Qt::LocalTime);
int utcOffset = utc.secsTo(local);
local.setUtcOffset(utcOffset);
QString dm = local.toString(Qt::ISODate);
return dm.toStdString();
}
std::string TimeInfo::diffTime(const TimeInfo &timeStart,const TimeInfo &timeEnd )
@ -89,10 +89,10 @@ std::string TimeInfo::diffTime(const TimeInfo &timeStart,const TimeInfo &timeEnd
float TimeInfo::diffTimeF(const TimeInfo &timeStart,const TimeInfo &timeEnd )
{
int64_t ds = int64_t(timeEnd.getSeconds() - timeStart.getSeconds());
int dms = int(timeEnd.getMiliseconds()) - int(timeStart.getMiliseconds());
int64_t ds = int64_t(timeEnd.getSeconds() - timeStart.getSeconds());
int dms = int(timeEnd.getMiliseconds()) - int(timeStart.getMiliseconds());
return float(ds) + float(dms) * 0.001;
return float(ds) + float(dms) * 0.001;
}
TimeInfo TimeInfo::null()