获取 UTC 时间并转换成本地时间是 Python 中经常需要的操作,可以使用 datetime
模块中的方法来实现。
首先需要导入相关的模块:
import datetime
import pytz # 需要安装 pytz。
接下来,获取当前 UTC 时间,可以使用 datetime.datetime.utcnow()
方法:
utc_time = datetime.datetime.utcnow()
得到的 utc_time
就是当前的 UTC 时间。接下来,需要将其转换为本地时间,首先需要获取本地时区的信息。可以使用 pytz
模块中的 timezone
方法获取:
local_tz = pytz.timezone('Asia/Shanghai') # 以上海时区为例
获取了本地时区的信息后,就可以将 UTC 时间转换为本地时间。可以使用 Localize
方法来实现:
local_time = local_tz.localize(utc_time)
这样就可以得到当前本地时间了。
下面是完整的示例代码:
import datetime
import pytz
# 获取当前的 UTC 时间
utc_time = datetime.datetime.utcnow()
# 获取本地时区信息(以上海为例)
local_tz = pytz.timezone('Asia/Shanghai')
# 转换为本地时间
local_time = local_tz.localize(utc_time)
# 输出本地时间
print('本地时间:', local_time)
输出结果:
本地时间: 2021-11-26 10:18:12.063624+08:00
另外一种获取 UTC 时间并转换成本地时间的方法是使用 datetime.datetime.fromtimestamp()
方法,将从 UTC 时间戳转换为本地时间。示例如下:
import datetime
import pytz
# 获取当前的 UTC 时间戳
utc_timestamp = datetime.datetime.utcnow().timestamp()
# 获取本地时区信息(以上海为例)
local_tz = pytz.timezone('Asia/Shanghai')
# 转换为本地时间
local_time = datetime.datetime.fromtimestamp(utc_timestamp, local_tz)
# 输出本地时间
print('本地时间:', local_time)
输出结果与前面的示例完全一致。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 获取utc时间转化为本地时间的方法 - Python技术站