Date Date::addMinutes(long minutes) { long hours = (getMm()+minutes)/60; minutes = (getMm()+minutes)%60; Date d = addHours(hours); d.setMm(minutes); return d; }
void Date::updateMinutes(double dminutes) { long minutes = floor(dminutes); double fraction = dminutes - (double)minutes; long extseconds = fraction*60 + getSs(); minutes += extseconds/60; extseconds = extseconds%60; long hours = (getMm()+minutes)/60; minutes = (getMm()+minutes)%60; if(hours>0) { updateHours(hours); } setMm(minutes); setSs(extseconds); }
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); }