DateTime::DateTime() { Timestamp now; _utcTime = now.utcTime(); computeGregorian(julianDay()); computeDaytime(); }
DateTime& DateTime::operator -= (const Timespan& span) { _utcTime -= span.totalMicroseconds()*10; computeGregorian(julianDay()); computeDaytime(); return *this; }
DateTime& DateTime::operator = (const Timestamp& timestamp) { _utcTime = timestamp.utcTime(); computeGregorian(julianDay()); computeDaytime(); return *this; }
DateTime& DateTime::operator += (const Timespan& span) { _utcTime += span*10; computeGregorian(julianDay()); computeDaytime(); return *this; }
DateTime::DateTime(double julianDay): _utcTime(toUtcTime(julianDay)) { computeGregorian(julianDay); }
DateTime::DateTime(const Timestamp& timestamp): _utcTime(timestamp.utcTime()) { computeGregorian(julianDay()); computeDaytime(); }
DateTime& DateTime::operator = (double julianDay) { _utcTime = toUtcTime(julianDay); computeGregorian(julianDay); return *this; }
DateTime::DateTime(Timestamp::UtcTimeVal utcTime, Timestamp::TimeDiff diff): _utcTime(utcTime + diff*10) { computeGregorian(julianDay()); computeDaytime(); }