"""Telegram timestamps should display Beijing local time.""" from datetime import datetime from zoneinfo import ZoneInfo from server.infrastructure.telegram import _now_cn from server.utils.display_time import format_beijing_now def test_now_cn_uses_beijing_timezone_label(): text = _now_cn() assert text == format_beijing_now() assert text.endswith("北京时间") assert "UTC" not in text wall = text.replace(" 北京时间", "") parsed = datetime.strptime(wall, "%Y-%m-%d %H:%M:%S").replace(tzinfo=ZoneInfo("Asia/Shanghai")) utc_now = datetime.now(ZoneInfo("UTC")) delta_seconds = abs((parsed - utc_now).total_seconds()) assert delta_seconds < 120