#include <cstdlib>
#include <sstream>
#include <iomanip>
-#include "../core/except.h"
+#include <stdexcept>
#include "datetime.h"
#include "timestamp.h"
#include "units.h"
usec = u;
if(usec>=1000000)
- throw InvalidParameterValue("Microseconds out of range");
+ throw out_of_range("DateTime::DateTime usec");
if(second>=60)
- throw InvalidParameterValue("Seconds out of range");
+ throw out_of_range("DateTime::DateTime second");
if(minute>=60)
- throw InvalidParameterValue("Minutes out of range");
+ throw out_of_range("DateTime::DateTime minute");
if(hour>=24)
- throw InvalidParameterValue("Hours out of range");
+ throw out_of_range("DateTime::DateTime hour");
if(month<1 || month>12)
- throw InvalidParameterValue("Month out of range");
+ throw out_of_range("DateTime::DateTime month");
if(mday<1 || mday>month_days(year, month))
- throw InvalidParameterValue("Day of month out of range");
+ throw out_of_range("DateTime::DateTime mday");
}
void DateTime::add_days(int days)
TimeStamp DateTime::get_timestamp() const
{
if(year<-289701 || year>293641)
- throw InvalidState("DateTime is not representable as a TimeStamp");
+ throw range_error("DateTime::get_timestamp");
RawTime raw = (((hour*60LL)+minute)*60+second)*1000000+usec;
int days = (year-1970)*365;