fix: standardize UTC timestamp handling
This commit is contained in:
+10
-1
@@ -5,6 +5,15 @@ from zoneinfo import ZoneInfo, ZoneInfoNotFoundError
|
||||
|
||||
|
||||
DEFAULT_TIMEZONE = "Asia/Shanghai"
|
||||
DATETIME_DISPLAY_FORMAT = "%Y-%m-%d %H:%M:%S"
|
||||
|
||||
|
||||
def utc_now() -> datetime:
|
||||
return datetime.now(timezone.utc).replace(tzinfo=None)
|
||||
|
||||
|
||||
def current_year_for_timezone(timezone_name: str | None) -> int:
|
||||
return datetime.now(timezone.utc).astimezone(timezone_for_name(timezone_name)).year
|
||||
|
||||
|
||||
def timezone_for_name(name: str | None) -> ZoneInfo:
|
||||
@@ -19,4 +28,4 @@ def format_datetime_for_timezone(value: datetime | None, timezone_name: str | No
|
||||
return "-"
|
||||
if value.tzinfo is None:
|
||||
value = value.replace(tzinfo=timezone.utc)
|
||||
return value.astimezone(timezone_for_name(timezone_name)).strftime("%Y-%m-%d %H:%M:%S")
|
||||
return value.astimezone(timezone_for_name(timezone_name)).strftime(DATETIME_DISPLAY_FORMAT)
|
||||
|
||||
Reference in New Issue
Block a user