From f63485b444bd8469d24c70f64f3097bed239c7a8 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Fri, 22 May 2020 18:02:15 +0200 Subject: cleanup: move timestampToDateTime() to qthelper.cpp Move this function from maintab.cpp to qthelper.cpp. Since the functionality was used in numerous places, use the helper function there as well. This removes a number of inconsistencies. For example, sometime setTimeSpec(Qt::UTC) was called, even though the QDateTime object was already created with that time spec. Signed-off-by: Berthold Stoeger --- core/qthelper.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'core/qthelper.cpp') diff --git a/core/qthelper.cpp b/core/qthelper.cpp index e1329ca26..561dd9213 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -696,12 +696,19 @@ int gettimezoneoffset(timestamp_t when) if (when == 0) dt1 = QDateTime::currentDateTime(); else - dt1 = QDateTime::fromMSecsSinceEpoch(when * 1000); + dt1 = timestampToDateTime(when); dt2 = dt1.toUTC(); dt1.setTimeSpec(Qt::UTC); return dt2.secsTo(dt1); } +QDateTime timestampToDateTime(timestamp_t when) +{ + // Subsurface always uses "local time" as in "whatever was the local time at the location" + // so all time stamps have no time zone information and are in UTC + return QDateTime::fromMSecsSinceEpoch(1000 * when, Qt::UTC); +} + QString render_seconds_to_string(int seconds) { if (seconds % 60 == 0) @@ -984,8 +991,7 @@ QString get_trip_date_string(timestamp_t when, int nr, bool getday) { struct tm tm; utc_mkdate(when, &tm); - QDateTime localTime = QDateTime::fromMSecsSinceEpoch(1000*when,Qt::UTC); - localTime.setTimeSpec(Qt::UTC); + QDateTime localTime = timestampToDateTime(when); QString suffix = " " + gettextFromC::tr("(%n dive(s))", "", nr); if (getday) -- cgit v1.2.3-70-g09d2