/* * Mirai. Copyright (C) 2024 Vyn * This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only) * The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt */ #pragma once #include #include #include #include #include namespace mirai { struct Date { explicit Date(int year, unsigned month, unsigned day); explicit Date(std::chrono::time_point tp); explicit Date(std::chrono::year_month_day chronoDate); bool operator==(const Date &other) const; bool operator<(const Date &other) const; bool operator>(const Date &other) const; int year; unsigned month; unsigned day; }; struct Time { bool operator==(const Time &other) const; bool operator<(const Time &other) const; bool operator>(const Time &other) const; int hour; int minute; }; std::optional stringToDate(const std::string &dateStr); } // namespace mirai