| openPilotLog

adatetime.h
1 /*
2 *openPilotLog - A FOSS Pilot Logbook Application
3 *Copyright (C) 2020-2021 Felix Turowsky
4 *
5 *This program is free software: you can redistribute it and/or modify
6 *it under the terms of the GNU General Public License as published by
7 *the Free Software Foundation, either version 3 of the License, or
8 *(at your option) any later version.
9 *
10 *This program is distributed in the hope that it will be useful,
11 *but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 *GNU General Public License for more details.
14 *
15 *You should have received a copy of the GNU General Public License
16 *along with this program. If not, see <https://www.gnu.org/licenses/>.
17 */
18 #ifndef ADATETIME_H
19 #define ADATETIME_H
20 #include <QtCore>
21 #include "src/opl.h"
22
23 namespace ADateTime {
24
29 inline const QString toString (const QDateTime& date_time, Opl::Datetime::DateTimeFormat format) {
30 switch (format) {
31 case Opl::Datetime::Default:
32 return date_time.toString(Qt::ISODate);
33 case Opl::Datetime::Backup:
34 return date_time.toString(QStringLiteral("yyyy_MM_dd_T_hh_mm"));
35 default:
36 return QString();
37 }
38 }
39
40 inline QDateTime fromString(const QString& date_time_string)
41 {
42 auto date_time = QDateTime::fromString(date_time_string, QStringLiteral("yyyy-MM-ddhh:mm"));
43 date_time.setTimeZone(QTimeZone::utc());
44 return date_time;
45 }
46
47 }
48
49 #endif // ADATETIME_H