发布时间:2025-12-09 21:10:10 浏览次数:3
UTC时间也称为世界标准时间,或协调世界时(英语:Coordinated Universal Time),北京时间是东八区,领先UTC 8个小时。 UTC + 时区差= 本地时间, 时区差东为正,西为负,即 【北京时间 = UTC时间+8小时】
我们转化时主要使用自带的datetime的astimezone方法
astimezone的详细用法请参考:https://www.geeksforgeeks.org/python-datetime-astimezone-method/
工具函数如下:
from datetime import datetime, timezone, timedeltadef convert_utc_from_beijing(beijing_dt: datetime, hours=8):"""转换本地的datetime格式为UTC时间:param datetime beijing_dt: 北京时间的datetime格式:param hours: 时区,北京是+8:return:"""utc_time = (beijing_dt - timedelta(hours=hours)).replace(tzinfo=timezone.utc) # 需要加上UTC时区beijing_utc = utc_time.astimezone(timezone(timedelta(hours=hours)))return beijing_utcnow_utc = convert_utc_from_beijing(datetime.now())print("本地datetime时间:", datetime.now())print("转换为北京的时区:", now_utc)print("直接读取本地UTC时间:", datetime.utcnow())print("时间戳:", now_utc.timestamp())得到结果:
本地datetime时间: 2023-03-02 10:49:08.657267转换为北京的时区: 2023-03-02 10:49:08.657180+08:00直接读取本地UTC时间: 2023-03-02 02:49:08.657379时间戳: 1677725348.65718