Index: sources/view/settings/VDateTime.cpp =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -r41887ec41419f06574e4c83a09ff7f7582aed247 --- sources/view/settings/VDateTime.cpp (.../VDateTime.cpp) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/view/settings/VDateTime.cpp (.../VDateTime.cpp) (revision 41887ec41419f06574e4c83a09ff7f7582aed247) @@ -77,22 +77,25 @@ hour ( vHour ); minute ( vMinute ); - const QDateTime currentDateTime ( QDate(_year .toInt() , - _month .toInt() , - _day .toInt()), - QTime(_hour .toInt() , - _minute .toInt())); + const QDateTime currentDateTimeLocal ( QDate(_year .toInt() , + _month .toInt() , + _day .toInt()), + QTime(_hour .toInt() , + _minute .toInt())); + const QString dateTimeLocalStr = currentDateTimeLocal.toString(_UIDateTimeStringFormat); - quint32 epoch = currentDateTime.toSecsSinceEpoch(); - QString mDateTime = currentDateTime.toString(_UIDateTimeStringFormat); + // Get the current UTC datetime + QDateTime currentDateTimeUTC(currentDateTimeLocal); + currentDateTimeUTC.setTimeSpec(Qt::UTC); + const quint32 epochUTC_sec = currentDateTimeUTC.toSecsSinceEpoch(); - LOG_DEBUG(tr("SetDateTime %1").arg(mDateTime)); + LOG_DEBUG(tr("SetDateTime %1").arg(dateTimeLocalStr)); status("Setting date and time ..."); - dateTimeUI(mDateTime); - dateTimeHD(epoch ); - dateTimeDG(epoch ); + dateTimeUI(dateTimeLocalStr); + dateTimeHD(epochUTC_sec ); + dateTimeDG(epochUTC_sec ); } /*! @@ -253,11 +256,14 @@ if ( !_hasDoneHDSyncRTC ) { QDateTime hdRTCTime; hdRTCTime.setSecsSinceEpoch(vData.mEpoch); + hdRTCTime.setTimeSpec(Qt::UTC); - QString newDateTimeString = hdRTCTime.toString(_UIDateTimeStringFormat); + QDateTime localDateTime = hdRTCTime.toLocalTime(); + + QString newDateTimeString = localDateTime.toString(_UIDateTimeStringFormat); dateTimeUI(newDateTimeString); - qDebug() << "Sync HD-UI RTC | HD Epoch: " << vData.mEpoch << " | datetime : " << newDateTimeString; + //DEBUG: qDebug() << "Sync HD-UI RTC | HD Epoch: " << vData.mEpoch << " | HD datetime: " << hdRTCTime.toString(_UIDateTimeStringFormat) <<" | datetime : " << newDateTimeString; _hasDoneHDSyncRTC = true; // indicate HD-UI RTC sync'd }