From dfefdfe432a4da4f523be9ddff4da568049bb8e9 Mon Sep 17 00:00:00 2001 From: vinland100 Date: Fri, 9 Jan 2026 13:36:12 +0800 Subject: [PATCH] Time zone handling --- backend/app/core/timezone.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/backend/app/core/timezone.py b/backend/app/core/timezone.py index d858691..7bd89df 100644 --- a/backend/app/core/timezone.py +++ b/backend/app/core/timezone.py @@ -13,9 +13,17 @@ def get_now_iso(): def beijing_time(*args): """ - 用于 logging.Formatter.converter 的转换函数 + 用于 logging.Formatter.converter 的转换函数。 + 支持 (timestamp) 或 (formatter, timestamp) 调用形式。 """ - if args: - # args[0] 是 timestamp - return datetime.fromtimestamp(args[0], CHINA_TZ).timetuple() - return get_now().timetuple() + if len(args) == 2: + # 被作为 bound method 调用: (self, timestamp) + ts = args[1] + elif len(args) == 1: + # 被作为普通函数调用: (timestamp) + ts = args[0] + else: + # 无参数调用(不常见,但作为兜底) + ts = datetime.now().timestamp() + + return datetime.fromtimestamp(ts, CHINA_TZ).timetuple()