Fixed DST handling for from_date/to_date, closes #193 (again)

This commit is contained in:
Rhet Turnbull
2020-08-25 06:43:06 -07:00
parent 0f457a4082
commit 0cc4beaede
5 changed files with 164 additions and 12 deletions

View File

@@ -1,3 +1,3 @@
""" version info """
__version__ = "0.33.4"
__version__ = "0.33.5"

View File

@@ -57,7 +57,9 @@ class AlbumInfoBaseClass:
self._creation_date_timestamp = self._db._dbalbum_details[uuid]["creation_date"]
self._start_date_timestamp = self._db._dbalbum_details[uuid]["start_date"]
self._end_date_timestamp = self._db._dbalbum_details[uuid]["end_date"]
self._local_tz = get_local_tz()
self._local_tz = get_local_tz(
datetime.fromtimestamp(self._creation_date_timestamp + TIME_DELTA)
)
@property
def uuid(self):

View File

@@ -2,14 +2,23 @@
import datetime
def get_local_tz():
""" return local timezone as datetime.timezone tzinfo """
local_tz = (
datetime.datetime.now(datetime.timezone(datetime.timedelta(0)))
.astimezone()
.tzinfo
)
return local_tz
def get_local_tz(dt):
""" return local timezone as datetime.timezone tzinfo for dt
Args:
dt: datetime.datetime
Returns:
local timezone for dt as datetime.timezone
Raises:
ValueError if dt is not timezone naive
"""
if not datetime_has_tz(dt):
return dt.astimezone().tzinfo
else:
raise ValueError("dt must be naive datetime.datetime object")
def datetime_remove_tz(dt):
@@ -50,4 +59,4 @@ def datetime_naive_to_local(dt):
f"{dt} has tzinfo {dt.tzinfo} and offset {dt.tizinfo.utcoffset(dt)}"
)
return dt.replace(tzinfo=get_local_tz())
return dt.replace(tzinfo=get_local_tz(dt))