33 if ( start.time() == end.time() ) {
34 mDuration = start.daysTo( end );
37 mDuration = start.secsTo( end );
45 mDuration = start.daysTo( end );
49 if ( end.time() < start.time() ) {
53 if ( end.time() > start.time() ) {
60 mDuration = start.secsTo( end );
68 mDaily = ( type ==
Days );
73 mDuration = duration.mDuration;
74 mDaily = duration.mDaily;
80 if ( &duration ==
this ) {
84 mDuration = duration.mDuration;
85 mDaily = duration.mDaily;
90 Duration::operator bool()
const
97 if ( mDaily == other.mDaily ) {
99 return mDuration < other.mDuration;
101 return seconds() < other.seconds();
110 mDuration == other.mDuration &&
111 mDaily == other.mDaily;
117 if ( mDaily == other.mDaily ) {
118 mDuration += other.mDuration;
119 }
else if ( mDaily ) {
120 mDuration = mDuration * 86400 + other.mDuration;
123 mDuration += other.mDuration + 86400;
152 return mDaily ? start.addDays( mDuration )
153 : start.addSecs( mDuration );
172 return mDaily ? mDuration : mDuration / 86400;