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 }