@@ -68,6 +68,7 @@ namespace Chrono {
6868 }
6969
7070 private DateTime add_time_unit (DateTime date , TimeUnit unit , int amount ) {
71+ DateTime result;
7172 switch (unit) {
7273 case TimeUnit . SECOND:
7374 return date. add_seconds (amount);
@@ -76,15 +77,20 @@ namespace Chrono {
7677 case TimeUnit . HOUR:
7778 return date. add_hours (amount);
7879 case TimeUnit . DAY:
79- return date. add_days (amount);
80+ result = date. add_days (amount);
81+ return new DateTime .local (result. get_year (), result. get_month (), result. get_day_of_month (), 0 , 0 , 0 );
8082 case TimeUnit . WEEK:
81- return date. add_weeks (amount);
83+ result = date. add_weeks (amount);
84+ return new DateTime .local (result. get_year (), result. get_month (), result. get_day_of_month (), 0 , 0 , 0 );
8285 case TimeUnit . MONTH:
83- return date. add_months (amount);
86+ result = date. add_months (amount);
87+ return new DateTime .local (result. get_year (), result. get_month (), result. get_day_of_month (), 0 , 0 , 0 );
8488 case TimeUnit . QUARTER:
85- return date. add_months (amount * 3 );
89+ result = date. add_months (amount * 3 );
90+ return new DateTime .local (result. get_year (), result. get_month (), result. get_day_of_month (), 0 , 0 , 0 );
8691 case TimeUnit . YEAR:
87- return date. add_years (amount);
92+ result = date. add_years (amount);
93+ return new DateTime .local (result. get_year (), result. get_month (), result. get_day_of_month (), 0 , 0 , 0 );
8894 default:
8995 return date;
9096 }
0 commit comments