diff --git a/Julian.cpp b/Julian.cpp index 93e9c66..be3917c 100755 --- a/Julian.cpp +++ b/Julian.cpp @@ -15,7 +15,7 @@ #endif Julian::Julian() { - + #ifdef WIN32 SYSTEMTIME st; GetSystemTime(&st); @@ -154,8 +154,14 @@ Julian Julian::operator-(const Timespan& b) const { return result; } +Timespan Julian::operator-(const Julian& b) const { + + Timespan result(date_ - b.date_); + return result; +} + std::ostream & operator<<(std::ostream& stream, const Julian& julian) { - + std::stringstream out; struct Julian::DateTimeComponents datetime; julian.ToGregorian(&datetime); @@ -229,7 +235,7 @@ time_t Julian::ToTime() const { * Greenwich Mean Sidereal Time */ double Julian::ToGreenwichSiderealTime() const { - + #if 0 double theta; double tut1; diff --git a/Julian.h b/Julian.h index 6397a50..ff332f9 100755 --- a/Julian.h +++ b/Julian.h @@ -33,6 +33,8 @@ public: Julian operator+(const Timespan& b) const; Julian operator-(const Timespan& b) const; + Timespan operator-(const Julian& b) const; + friend std::ostream & operator<<(std::ostream& stream, const Julian& julian); struct DateTimeComponents { diff --git a/Timespan.cpp b/Timespan.cpp index a551665..7bb812d 100644 --- a/Timespan.cpp +++ b/Timespan.cpp @@ -32,6 +32,10 @@ double Timespan::GetTotalMinutes() const { return time_span_ * kMINUTES_PER_DAY; } +double Timespan::GetTotalSeconds() const { + return time_span_ * kSECONDS_PER_DAY; +} + Timespan& Timespan::operator =(const Timespan& b) { if (this != &b) { diff --git a/Timespan.h b/Timespan.h index 215f33a..6f7136f 100644 --- a/Timespan.h +++ b/Timespan.h @@ -11,6 +11,7 @@ public: double GetTotalDays() const; double GetTotalHours() const; double GetTotalMinutes() const; + double GetTotalSeconds() const; /* * overloaded operators