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();
129 DateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
144 bool set(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
150 void set(
const RawTime_t& SecondsSince0000);
156 bool setFromISOString(
const std::string& DateTimeStr);
162 bool setFromString(
const std::string& DateTimeStr,
const std::string& FormatStr);
171 return (m_TM.tm_year+1900);
180 return (m_TM.tm_mon+1);
230 std::string getAsISOString()
const;
237 std::string getAsString(std::string Format)
const;
244 std::string getDateAsISOString()
const;
250 std::string getTimeAsISOString()
const;
256 void addSeconds(
const RawTime_t& Seconds);
261 void subtractSeconds(
const RawTime_t& Seconds);
286 bool operator ==(
const DateTime &Right)
const;
291 bool operator !=(
const DateTime &Right)
const;
296 bool operator >(
const DateTime &Right)
const;
301 bool operator >=(
const DateTime &Right)
const;
306 bool operator <(
const DateTime &Right)
const;
311 bool operator <=(
const DateTime &Right)
const;
366 static bool isLeapYear(
int Year);
371 static int getNumOfDaysInMonth(
int Year,
int Month);
376 static bool isValidDateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
381 bool isSameDate(
const DateTime& DT)
const;
386 bool isSameTime(
const DateTime& DT)
const;
static RawTime_t Weeks(int N)
Definition: DateTime.hpp:361
Definition: ApplicationException.hpp:47
static RawTime_t Days(int N)
Definition: DateTime.hpp:351
int getMinute() const
Definition: DateTime.hpp:205
std::uint64_t RawTime_t
Definition: TypeDefs.hpp:284
int getYear() const
Definition: DateTime.hpp:169
int getSecond() const
Definition: DateTime.hpp:214
int getHour() const
Definition: DateTime.hpp:196
static RawTime_t Hour()
Definition: DateTime.hpp:336
static RawTime_t Week()
Definition: DateTime.hpp:356
static RawTime_t Minutes(int N)
Definition: DateTime.hpp:331
int getDay() const
Definition: DateTime.hpp:187
#define OPENFLUID_API
Definition: dllexport.hpp:86
static RawTime_t Day()
Definition: DateTime.hpp:346
Class for management of date and time information.
Definition: DateTime.hpp:87
static RawTime_t Hours(int N)
Definition: DateTime.hpp:341
int getMonth() const
Definition: DateTime.hpp:178
static RawTime_t Minute()
Definition: DateTime.hpp:326