init(y, m, d, h, n, s, u);
}
+void DateTime::init(const TimeStamp &ts)
+{
+ year = 1970;
+ month = 1;
+ mday = 1;
+ hour = 0;
+ minute = 0;
+ second = 0;
+ usec = 0;
+ add_raw(ts.raw());
+}
+
+void DateTime::init(int y, unsigned char m, unsigned char d, unsigned char h, unsigned char n, unsigned char s, unsigned u)
+{
+ year = y;
+ month = m;
+ mday = d;
+ hour = h;
+ minute = n;
+ second = s;
+ usec = u;
+
+ if(usec>=1000000)
+ throw InvalidParameterValue("Microseconds out of range");
+ if(second>=60)
+ throw InvalidParameterValue("Seconds out of range");
+ if(minute>=60)
+ throw InvalidParameterValue("Minutes out of range");
+ if(hour>=24)
+ throw InvalidParameterValue("Hours out of range");
+ if(month<1 || month>12)
+ throw InvalidParameterValue("Month out of range");
+ if(mday<1 || mday>month_days(year, month))
+ throw InvalidParameterValue("Day of month out of range");
+}
+
void DateTime::add_days(int days)
{
int new_year = year;
return result;
}
-void DateTime::init(const TimeStamp &ts)
-{
- year = 1970;
- month = 1;
- mday = 1;
- hour = 0;
- minute = 0;
- second = 0;
- usec = 0;
- add_raw(ts.raw());
-}
-
-void DateTime::init(int y, unsigned char m, unsigned char d, unsigned char h, unsigned char n, unsigned char s, unsigned u)
-{
- year = y;
- month = m;
- mday = d;
- hour = h;
- minute = n;
- second = s;
- usec = u;
- validate();
-}
-
void DateTime::add_raw(RawTime raw)
{
int days = static_cast<int>(raw/86400000000LL);
}
}
-void DateTime::validate() const
-{
- if(usec>=1000000)
- throw InvalidParameterValue("Microseconds out of range");
- if(second>=60)
- throw InvalidParameterValue("Seconds out of range");
- if(minute>=60)
- throw InvalidParameterValue("Minutes out of range");
- if(hour>=24)
- throw InvalidParameterValue("Hours out of range");
- if(month<1 || month>12)
- throw InvalidParameterValue("Month out of range");
- if(mday<1 || mday>month_days(year, month))
- throw InvalidParameterValue("Day of month out of range");
-}
-
} // namespace Time
} // namespace Msp