File indexing completed on 2024-05-12 04:42:45

0001 /*
0002     SPDX-FileCopyrightText: 2019-2021 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "timeutil_p.h"
0008 
0009 #include <QDateTime>
0010 #include <QTimeZone>
0011 
0012 using namespace KPublicTransport;
0013 
0014 QDateTime TimeUtil::applyTimeZone(QDateTime dt, const QTimeZone &tz)
0015 {
0016     if (!dt.isValid()) {
0017         return dt;
0018     }
0019     switch (dt.timeSpec()) {
0020         case Qt::LocalTime:
0021             dt.setTimeZone(tz);
0022             break;
0023         case Qt::UTC:
0024             dt = dt.toTimeZone(tz);
0025             break;
0026         case Qt::OffsetFromUTC:
0027             if (tz.offsetFromUtc(dt) == dt.offsetFromUtc()) {
0028                 dt.setTimeZone(tz);
0029             }
0030             break;
0031         default:
0032             break;
0033     }
0034     return dt;
0035 }