Mercurial > minori
comparison src/core/date.cc @ 317:b1f4d1867ab1
services: VERY initial Kitsu support
it only supports user authentication for now, but it's definitely
a start.
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Wed, 12 Jun 2024 04:07:10 -0400 |
parents | 862d0d8619f6 |
children | d928ec7b6a0d |
comparison
equal
deleted
inserted
replaced
316:180714442770 | 317:b1f4d1867ab1 |
---|---|
3 | 3 |
4 #include <QDate> | 4 #include <QDate> |
5 #include <QDebug> | 5 #include <QDebug> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cstdio> | |
8 | 9 |
9 /* An implementation of AniList's "fuzzy date" */ | 10 /* An implementation of AniList's "fuzzy date" */ |
10 | 11 |
11 Date::Date() { | 12 Date::Date() { |
12 } | 13 } |
17 | 18 |
18 Date::Date(Date::Year y, Date::Month m, Date::Day d) { | 19 Date::Date(Date::Year y, Date::Month m, Date::Day d) { |
19 SetYear(y); | 20 SetYear(y); |
20 SetMonth(m); | 21 SetMonth(m); |
21 SetDay(d); | 22 SetDay(d); |
23 } | |
24 | |
25 Date::Date(const std::string& str) { | |
26 unsigned int y, m, d; | |
27 | |
28 /* I don't like this that much, but it works... */ | |
29 int amt = std::sscanf(str.c_str(), "%4u-%2u-%2u", &y, &m, &d); | |
30 | |
31 if (amt > 0) | |
32 SetYear(y); | |
33 | |
34 if (amt > 1) | |
35 SetMonth(static_cast<Date::Month>(m - 1)); | |
36 | |
37 if (amt > 2) | |
38 SetDay(d); | |
22 } | 39 } |
23 | 40 |
24 Date::Date(const QDate& date) { | 41 Date::Date(const QDate& date) { |
25 SetYear(date.year()); | 42 SetYear(date.year()); |
26 auto m = date.month(); | 43 auto m = date.month(); |