From 18f2447ba5ce5e9682c6bd85772009c31270e050 Mon Sep 17 00:00:00 2001 From: Marlboro62 <195607976+Marlboro62@users.noreply.github.com> Date: Sun, 4 Oct 2026 21:25:25 +0200 Subject: [PATCH] fix: last_month and last_month_last_year return 0 on the 1st of the month (#640) --- src/models/stat.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/models/stat.py b/src/models/stat.py index b546c799..9d5e31d6 100644 --- a/src/models/stat.py +++ b/src/models/stat.py @@ -456,12 +456,11 @@ def current_week_last_year(self): def last_month(self): now_date = datetime.now(timezone.utc) - yesterday_date = datetime.combine(now_date - relativedelta(days=1), datetime.max.time()) begin = datetime.combine( (now_date.replace(day=1) - timedelta(days=1)).replace(day=1), datetime.min.time(), ) - end = datetime.combine(yesterday_date.replace(day=1) - timedelta(days=1), datetime.max.time()) + end = datetime.combine(now_date.replace(day=1) - timedelta(days=1), datetime.max.time()) for day in self.db.get_daily_range(self.usage_point_id, begin, end, self.measurement_direction): self.value_last_month = self.value_last_month + day.value logging.debug(f" last_month => {self.value_last_month}") @@ -509,12 +508,11 @@ def current_month_evolution(self): def last_month_last_year(self): now_date = datetime.now(timezone.utc) - yesterday_date = datetime.combine(now_date - relativedelta(days=1), datetime.max.time()) begin = datetime.combine( (now_date.replace(day=1) - timedelta(days=1)).replace(day=1), datetime.min.time(), ) - relativedelta(years=1) - end = datetime.combine(yesterday_date.replace(day=1) - timedelta(days=1), datetime.max.time()) - relativedelta( + end = datetime.combine(now_date.replace(day=1) - timedelta(days=1), datetime.max.time()) - relativedelta( years=1 ) for day in self.db.get_daily_range(self.usage_point_id, begin, end, self.measurement_direction):