Date Date::addHours(long hours) { long days = (getHh()+hours)/24; hours = (getHh()+hours)%24; Date d = addDays(days); d.setHh(hours); return d; }
void Date::updateHours(double dhours) { long hours = floor(dhours); double fraction = dhours - (double)hours; long extminutes = fraction*60 + getMm(); hours += extminutes/60; extminutes = extminutes%60; long days = (getHh()+hours)/24; hours = (getHh()+hours)%24; if(days>0) { updateDays(days); } setHh(hours); setMm(extminutes); }