TimestampStrings allows ZoneInfo object as time_zone parameter

So we can use pre-parsed data

Some tests for parsing settings, timestamp output
This commit is contained in:
Clemens Schwaighofer
2025-09-25 15:14:40 +09:00
parent 14466c3ff8
commit 38bae7fb46
4 changed files with 13 additions and 3 deletions

View File

@@ -23,11 +23,13 @@ class TimestampStrings:
TIME_ZONE: str = 'Asia/Tokyo'
def __init__(self, time_zone: str | None = None):
def __init__(self, time_zone: str | ZoneInfo | None = None):
self.timestamp_now = datetime.now()
self.time_zone = time_zone if time_zone is not None else self.TIME_ZONE
try:
self.timestamp_now_tz = datetime.now(ZoneInfo(self.time_zone))
self.timestamp_now_tz = datetime.now(
ZoneInfo(self.time_zone) if not isinstance(self.time_zone, ZoneInfo) else self.time_zone
)
except ZoneInfoNotFoundError as e:
raise ValueError(f'Zone could not be loaded [{self.time_zone}]: {e}') from e
self.today = self.timestamp_now.strftime('%Y-%m-%d')