5 const static auto ISO = QStringLiteral(
"yyyy-MM-dd");
6 const static auto DE = QStringLiteral(
"dd.MM.yyyy");
7 const static auto EN = QStringLiteral(
"MM/dd/yyyy");
9 const static QMap<Opl::Date::ADateFormat, QString> ADATEFORMATSMAP = {
10 {Opl::Date::ADateFormat::ISODate, ISO},
11 {Opl::Date::ADateFormat::DE, DE },
12 {Opl::Date::ADateFormat::EN, EN },
16 const static QStringList DISPLAY_NAMES = {
17 QStringLiteral(
"ISO 8601: yyyy-MM-dd"),
18 QStringLiteral(
"DE: dd.MM.yyyy"),
19 QStringLiteral(
"EN: MM/dd/yyyy")
33 static QDate
parseInput(QString &io_user_input, Opl::Date::ADateFormat format);
35 static void tryToFix(QString &io_user_input, Opl::Date::ADateFormat format);
40 static void padCentury(QString &io_user_input, Opl::Date::ADateFormat format);
45 static void padZeroes(QString &io_user_input);
47 static void addSeperators(QString &io_user_input,
const Opl::Date::ADateFormat &format);
49 static bool containsSeperator(
const QString &user_input);
54 inline static QString
toString(
const QDate &date, Opl::Date::ADateFormat format = Opl::Date::ADateFormat::ISODate)
56 return date.toString(ADATEFORMATSMAP.value(format));
59 static const QStringList& getDisplayNames();
61 static const QString getFormatString(Opl::Date::ADateFormat format);
The ADate class is responsible for input/output of Dates and handling the different Date Formats.
Definition: adate.h:27
static void padCentury(QString &io_user_input, Opl::Date::ADateFormat format)
padCentury adds the century to a date where it was omitted
Definition: adate.cpp:36
static void padZeroes(QString &io_user_input)
pads a user-provided date string with 0s to facilitate conversion to QDate
Definition: adate.cpp:67
static QDate parseInput(QString &io_user_input, Opl::Date::ADateFormat format)
takes a user-provided input and tries to convert it to a (valid) QDate.
Definition: adate.cpp:3
static QString toString(const QDate &date, Opl::Date::ADateFormat format=Opl::Date::ADateFormat::ISODate)
Reimplements QDate::toString to accept Opl::Date::ADateFormat enums.
Definition: adate.h:54