void DateTime::add(DateTime dateTime) { this->timeStamp += dateTime.GetTimeStamp(); this->fractionalTimeStamp += dateTime.GetFractionalTimestamp(); // Adjust fractional part to be less that 1 this->timeStamp += (long)floor(this->fractionalTimeStamp); this->fractionalTimeStamp -= (float)floor(this->fractionalTimeStamp); }
//Returns 0 if DateTimes are equal //Returns -1 if t1 > target object (this) //Returns 1 if target object (this) > t1 //If timeStamps are equal, fractional timestamps are compared int DateTime::CompareTo(DateTime t1) { // fractional_timestamp is guaranteed to be less that 1 which allows simplified comparison below if ( this->timeStamp == t1.GetTimeStamp() ) { // Timestamps are equal; must compare fractional part. if (this->fractionalTimeStamp < t1.GetFractionalTimestamp()) { return -1; } else if (this->fractionalTimeStamp > t1.GetFractionalTimestamp()) { return 1; } else { return 0; } } else if ( this->timeStamp > t1.GetTimeStamp() ) { return 1; } else { return -1; } }
bool DateTime::Equals(DateTime dateTime) { return( ( ( this->timeStamp == dateTime.GetTimeStamp() ) && ( this->fractionalTimeStamp == dateTime.GetFractionalTimestamp() ) ) ); }