40 #ifndef __OPENFLUID_CORE_DATETIME_HPP__
41 #define __OPENFLUID_CORE_DATETIME_HPP__
44 #include <sys/types.h>
49 #include <openfluid/core/TypeDefs.hpp>
114 void updateYMDHMSFromRawTime();
116 void updateRawTimeFromYMDHMS();
139 DateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
182 bool set(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
204 bool setFromString(
const std::string& DateTimeStr,
const std::string& FormatStr);
213 return (m_TM.tm_year+1900);
222 return (m_TM.tm_mon+1);
402 {
return (86400*N); }
414 {
return (604800*N); }
429 static bool isValidDateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
Class for management of date and time information.
Definition: DateTime.hpp:88
int getYear() const
Definition: DateTime.hpp:211
static RawTime_t Minute()
Definition: DateTime.hpp:371
std::string getDateAsISOString() const
bool operator>(const DateTime &Right) const
int getSecond() const
Definition: DateTime.hpp:256
static RawTime_t Hour()
Definition: DateTime.hpp:383
DateTime & operator=(DateTime &&Other)=default
DateTime(DateTime &&)=default
std::string getAsISOString() const
bool setFromString(const std::string &DateTimeStr, const std::string &FormatStr)
DateTime operator+(const RawTime_t &Seconds) const
bool operator>=(const DateTime &Right) const
static RawTime_t Week()
Definition: DateTime.hpp:407
int getHour() const
Definition: DateTime.hpp:238
bool operator!=(const DateTime &Right) const
bool operator<(const DateTime &Right) const
static RawTime_t Hours(int N)
Definition: DateTime.hpp:389
void set(const RawTime_t &SecondsSince0000)
RawTime_t getRawTime() const
int getDay() const
Definition: DateTime.hpp:229
int getMonth() const
Definition: DateTime.hpp:220
bool isSameTime(const DateTime &DT) const
void addSeconds(const RawTime_t &Seconds)
static RawTime_t Minutes(int N)
Definition: DateTime.hpp:377
static DateTime fromISOString(const std::string &DateTimeStr)
DateTime(int Year, int Month, int Day)
Definition: DateTime.hpp:144
static int getNumOfDaysInMonth(int Year, int Month)
bool set(int Year, int Month, int Day, int Hour, int Minute, int Second)
static RawTime_t Day()
Definition: DateTime.hpp:395
bool operator==(const DateTime &Right) const
bool setFromISOString(const std::string &DateTimeStr)
static DateTime fromString(const std::string &DateTimeStr, const std::string &FormatStr)
static bool isLeapYear(int Year)
DateTime(int Year, int Month, int Day, int Hour, int Minute, int Second)
DateTime & operator=(const DateTime &Other)=default
static RawTime_t Days(int N)
Definition: DateTime.hpp:401
std::string getAsString(const std::string &Format) const
void subtractSeconds(const RawTime_t &Seconds)
bool isStrictlyBetween(const DateTime &FirstDT, const DateTime &SecondDT)
int getMinute() const
Definition: DateTime.hpp:247
std::string getAsISOEXTString() const
std::string getTimeAsISOString() const
DateTime(RawTime_t SecondsSince0000)
static RawTime_t Weeks(int N)
Definition: DateTime.hpp:413
RawTime_t diffInSeconds(const DateTime &DT) const
DateTime operator-(const RawTime_t &Seconds) const
bool operator<=(const DateTime &Right) const
static bool isValidDateTime(int Year, int Month, int Day, int Hour, int Minute, int Second)
bool isBetween(const DateTime &FirstDT, const DateTime &SecondDT)
bool isSameDate(const DateTime &DT) const
DateTime(const DateTime &)=default
#define OPENFLUID_API
Definition: dllexport.hpp:86
std::uint64_t RawTime_t
Definition: TypeDefs.hpp:284
Definition: ApplicationException.hpp:47