from datetime import datetime, timedelta, timezone import time def to_utc_time(query_time: str): ''' 将一个北京时间的时间点,转换成utc ''' beijing_time = datetime.fromisoformat(query_time) utc_time = beijing_time.astimezone(timezone.utc) return utc_time def to_utc_time_range(query_time: str, delta: float): ''' 将一个北京时间的时间点,转换成utc的 start/end 时间段 有些查询按照一个时间点查不到,用时间段保证能成功 ''' beijing_time = datetime.fromisoformat(query_time) utc_time = beijing_time.astimezone(timezone.utc) utc_start_time = utc_time - timedelta(seconds=delta) utc_end_time = utc_time + timedelta(seconds=delta) return (utc_start_time, utc_end_time)