40 #ifndef __OPENFLUID_CORE_DATETIME_HPP__ 41 #define __OPENFLUID_CORE_DATETIME_HPP__ 44 #include <sys/types.h> 49 #include <openfluid/core/TypeDefs.hpp> 143 void updateYMDHMSFromRawTime();
145 void updateRawTimeFromYMDHMS();
158 DateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
173 bool set(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
179 void set(
const RawTime_t& SecondsSince0000);
185 bool setFromISOString(
const std::string& DateTimeStr);
191 bool setFromString(
const std::string& DateTimeStr,
const std::string& FormatStr);
200 return (m_TM.tm_year+1900);
209 return (m_TM.tm_mon+1);
259 std::string getAsISOString()
const;
266 std::string getAsString(std::string Format)
const;
273 std::string getDateAsISOString()
const;
279 std::string getTimeAsISOString()
const;
285 void addSeconds(
const RawTime_t& Seconds);
290 void subtractSeconds(
const RawTime_t& Seconds);
315 bool operator ==(
const DateTime &Right)
const;
320 bool operator !=(
const DateTime &Right)
const;
325 bool operator >(
const DateTime &Right)
const;
330 bool operator >=(
const DateTime &Right)
const;
335 bool operator <(
const DateTime &Right)
const;
340 bool operator <=(
const DateTime &Right)
const;
395 static bool isLeapYear(
int Year);
400 static int getNumOfDaysInMonth(
int Year,
int Month);
405 static bool isValidDateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
410 bool isSameDate(
const DateTime& DT)
const;
415 bool isSameTime(
const DateTime& DT)
const;
static RawTime_t Weeks(int N)
Definition: DateTime.hpp:390
static RawTime_t Days(int N)
Definition: DateTime.hpp:380
int getMinute() const
Definition: DateTime.hpp:234
#define OPENFLUID_API
Definition: dllexport.hpp:86
static RawTime_t Minute()
Definition: DateTime.hpp:355
Definition: ApplicationException.hpp:47
int getDay() const
Definition: DateTime.hpp:216
int getSecond() const
Definition: DateTime.hpp:243
static RawTime_t Minutes(int N)
Definition: DateTime.hpp:360
int getMonth() const
Definition: DateTime.hpp:207
std::uint64_t RawTime_t
Definition: TypeDefs.hpp:176
static RawTime_t Hours(int N)
Definition: DateTime.hpp:370
int getYear() const
Definition: DateTime.hpp:198
static RawTime_t Week()
Definition: DateTime.hpp:385
static RawTime_t Hour()
Definition: DateTime.hpp:365
static RawTime_t Day()
Definition: DateTime.hpp:375
int getHour() const
Definition: DateTime.hpp:225
Class for management of date and time information.
Definition: DateTime.hpp:116