Fix relative date calculation around DST dates

This commit is contained in:
Raphael Michel
2018-03-29 16:46:34 +02:00
parent e278978ad9
commit cfbde151fa
2 changed files with 40 additions and 10 deletions

View File

@@ -71,6 +71,7 @@ class RelativeDateWrapper:
else:
base_date = getattr(event, self.data.base_date_name) or event.date_from
oldoffset = base_date.utcoffset()
new_date = base_date.astimezone(tz) - datetime.timedelta(days=self.data.days_before)
if self.data.time:
new_date = new_date.replace(
@@ -78,6 +79,10 @@ class RelativeDateWrapper:
minute=self.data.time.minute,
second=self.data.time.second
)
new_date = new_date.astimezone(tz)
newoffset = new_date.utcoffset()
new_date += oldoffset - newoffset
return new_date
def to_string(self) -> str: