DateTime& DateTime::assign(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond) { FIRTEX_ASSERT2(year >= 0 && year <= 9999); FIRTEX_ASSERT2(month >= 1 && month <= 12); FIRTEX_ASSERT2(day >= 1 && day <= daysOfMonth(year, month)); FIRTEX_ASSERT2(hour >= 0 && hour <= 23); FIRTEX_ASSERT2(minute >= 0 && minute <= 59); FIRTEX_ASSERT2(second >= 0 && second <= 59); FIRTEX_ASSERT2(millisecond >= 0 && millisecond <= 999); FIRTEX_ASSERT2(microsecond >= 0 && microsecond <= 999); m_utcTime = toUtcTime(toJulianDay(year, month, day)) + 10*(hour*Timespan::HOURS + minute*Timespan::MINUTES + second*Timespan::SECONDS + millisecond*Timespan::MILLISECONDS + microsecond); m_year = year; m_month = month; m_day = day; m_hour = hour; m_minute = minute; m_second = second; m_millisecond = millisecond; m_microsecond = microsecond; return *this; }
DateTime::DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond) : m_year(year) , m_month(month) , m_day(day) , m_hour(hour) , m_minute(minute) , m_second(second) , m_millisecond(millisecond) , m_microsecond(microsecond) { FIRTEX_ASSERT2(year >= 0 && year <= 9999); FIRTEX_ASSERT2(month >= 1 && month <= 12); FIRTEX_ASSERT2(day >= 1 && day <= daysOfMonth(year, month)); FIRTEX_ASSERT2(hour >= 0 && hour <= 23); FIRTEX_ASSERT2(minute >= 0 && minute <= 59); FIRTEX_ASSERT2(second >= 0 && second <= 59); FIRTEX_ASSERT2(millisecond >= 0 && millisecond <= 999); FIRTEX_ASSERT2(microsecond >= 0 && microsecond <= 999); m_utcTime = toUtcTime(toJulianDay(year, month, day)) + 10*(hour*Timespan::HOURS + minute*Timespan::MINUTES + second*Timespan::SECONDS + millisecond*Timespan::MILLISECONDS + microsecond); }
DateTime::DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond): _year(year), _month(month), _day(day), _hour(hour), _minute(minute), _second(second), _millisecond(millisecond), _microsecond(microsecond) { poco_assert (year >= 0 && year <= 9999); poco_assert (month >= 1 && month <= 12); poco_assert (day >= 1 && day <= daysOfMonth(year, month)); poco_assert (hour >= 0 && hour <= 23); poco_assert (minute >= 0 && minute <= 59); poco_assert (second >= 0 && second <= 59); poco_assert (millisecond >= 0 && millisecond <= 999); poco_assert (microsecond >= 0 && microsecond <= 999); _utcTime = toUtcTime(toJulianDay(year, month, day)) + 10*(hour*Timespan::HOURS + minute*Timespan::MINUTES + second*Timespan::SECONDS + millisecond*Timespan::MILLISECONDS + microsecond); }
DateTime& DateTime::assign(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond) { pi_assert_dbg (year >= 0 && year <= 9999); pi_assert_dbg (month >= 1 && month <= 12); pi_assert_dbg (day >= 1 && day <= daysOfMonth(year, month)); pi_assert_dbg (hour >= 0 && hour <= 23); pi_assert_dbg (minute >= 0 && minute <= 59); pi_assert_dbg (second >= 0 && second <= 59); pi_assert_dbg (millisecond >= 0 && millisecond <= 999); pi_assert_dbg (microsecond >= 0 && microsecond <= 999); _utcTime = toUtcTime(toJulianDay(year, month, day)) + 10*(hour*HOURS + minute*MINUTES + second*SECONDS + millisecond*MILLISECONDS + microsecond); _year = year; _month = month; _day = day; _hour = hour; _minute = minute; _second = second; _millisecond = millisecond; _microsecond = microsecond; return *this; }
double DateTime::julianDay() const { return toJulianDay(_utcTime); }