#pragma once #include #include namespace util { class Timestamp { private: std::time_t m_time; Timestamp(std::time_t time); public: Timestamp(); static Timestamp fromString(const std::string& timeString); std::string toString() const; static double getDurationInHours(const Timestamp&, const Timestamp&); static double getDurationInMinutes(const Timestamp&, const Timestamp&); static double getDurationInSeconds(const Timestamp&, const Timestamp&); int getDateAsInt() const; int getMonth() const; int getYear() const; int getDay() const; bool operator>(const Timestamp&) const; bool operator<(const Timestamp&) const; bool operator>=(const Timestamp&) const; bool operator<=(const Timestamp&) const; bool operator==(const Timestamp&) const; }; }