[Kstars-devel] KDE_3_3_BRANCH: kdeedu/libkdeedu/extdate
Jason Harris
kstars at 30doradus.org
Mon Aug 16 05:25:06 CEST 2004
CVS commit by harris:
Fix highlighting of the selected date in the ExtDatePicker widget for
years < 2000. The highlighted date was off by one week because of a bug
in ExtDate::dayOfWeek().
Also, make ExtDate::addMonths() more robust.
(TO BE BACKPORTED)
CCMAIL: kstars-devel at kde.org
M +9 -3 extdatetime.cpp 1.8.2.1
--- kdeedu/libkdeedu/extdate/extdatetime.cpp #1.8:1.8.2.1
@@ -281,4 +281,5 @@ int ExtDate::dayOfWeek() const
//JD 2451545 (01 Jan 2000) was a Saturday, which is dayOfWeek=6.
int a_day = (( jd() - 2451545 + 6 ) % 7);
+ if ( a_day < 0 ) a_day += 7;
return (a_day == 0) ? 7 : a_day;
}
@@ -517,7 +518,12 @@ ExtDate ExtDate::addDays( int days ) con
ExtDate ExtDate::addMonths( int months ) const
{
- int a_month = month() + months;
- int a_year = year() + (a_month - 1)/12; // month : [1..12]
- a_month = 1 + (a_month -1) % 12;
+ int a_month = month() + months%12;
+ int a_year = year() + int(months/12);
+
+ while ( a_month < 1 ) {
+ a_month += 12;
+ a_year--;
+ }
+
return ExtDate(a_year, a_month, day());
}
More information about the Kstars-devel
mailing list