Mercurial > minori
comparison include/core/date.h @ 174:f88eda79c60a
anime/db: add some more json functionality, still doesn't compile :/
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Wed, 29 Nov 2023 13:53:56 -0500 |
| parents | c69230dc2b5d |
| children | 9613d72b097e |
comparison
equal
deleted
inserted
replaced
| 173:de0a8d2f28b3 | 174:f88eda79c60a |
|---|---|
| 1 #ifndef __core__date_h | 1 #ifndef __core__date_h |
| 2 #define __core__date_h | 2 #define __core__date_h |
| 3 | 3 |
| 4 #include "json.h" | 4 #include "core/json.h" |
| 5 #include <QDate> | 5 #include <QDate> |
| 6 #include <cstdint> | 6 #include <cstdint> |
| 7 | 7 |
| 8 class Date { | 8 class Date { |
| 9 public: | 9 public: |
| 10 Date(); | 10 Date(); |
| 11 Date(unsigned int y); | 11 Date(unsigned int y); |
| 12 Date(unsigned int y, unsigned int m, unsigned int d); | 12 Date(unsigned int y, unsigned int m, unsigned int d); |
| 13 Date(const QDate& date); | 13 Date(const QDate& date); |
| 14 Date(const nlohmann::json& json); | |
| 14 bool IsValid() const; | 15 bool IsValid() const; |
| 15 void SetYear(unsigned int y); | 16 void SetYear(unsigned int y); |
| 16 void SetMonth(unsigned int m); | 17 void SetMonth(unsigned int m); |
| 17 void SetDay(unsigned int d); | 18 void SetDay(unsigned int d); |
| 18 void VoidYear(); | 19 void VoidYear(); |
| 27 bool operator>(const Date& other) const; | 28 bool operator>(const Date& other) const; |
| 28 bool operator<=(const Date& other) const; | 29 bool operator<=(const Date& other) const; |
| 29 bool operator>=(const Date& other) const; | 30 bool operator>=(const Date& other) const; |
| 30 | 31 |
| 31 private: | 32 private: |
| 32 /* note: it might be worth it to change these all to int, as | 33 /* this implementation sucks and we should really use a struct instead */ |
| 33 large bit precisions aren't exactly useful here... */ | |
| 34 std::shared_ptr<unsigned int> year; | 34 std::shared_ptr<unsigned int> year; |
| 35 std::shared_ptr<unsigned int> month; | 35 std::shared_ptr<unsigned int> month; |
| 36 std::shared_ptr<unsigned int> day; | 36 std::shared_ptr<unsigned int> day; |
| 37 }; | 37 }; |
| 38 | 38 |
