在Python中,datetime对象通常需要与时区关联以获得正确的时间和日期。在Python 3中,有多种方法可以用来设置时区。以下是一些在Python中使用带datetime对象的时区的常见方法:
set_timezone()
方法 - 通过传入特定时区的名称来设置datetime对象的时区例如:
from datetime import datetime
import pytz
tz = pytz.timezone('Asia/Shanghai')
dt = datetime(2022, 11, 5, 12, 0, 0, tzinfo=tz)
print(dt)
# 输出:2022-11-05 12:00:00+08:00
timezone()
方法 - 通过时区UTC偏移量为空字符串或数字来设置时区例如:
dt = datetime(2022, 11, 5, 12, 0, 0)
# 使用空字符串表示时区(默认)
print(dt)
# 输出:2022-11-05 12:00:00
# 使用UTC偏移量创建自定义时间
tz_offset = 8 * 60
dt = datetime(2022, 11, 5, 12, 0, 0, tzinfo=pytz.timezone(timedelta(hours=+tz_offset))))
print(dt)
# 输出:2022-11-05 12:00:00+08:00
例如:
date_str = "2022-11-05 12:30:45" # 格式化为可读的字符串格式
dt_from_str = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
dt_str = dt_from_str.strftime("%Y-%m-%d %H:%M:%S") # 将datetime对象转换为可读性强的字符串格式
print(dt_str)
# 输出:2022-11-05 12:30:45
在Python中设置时区时,可以使用pytz
库,它是一个第三方库,支持UTC和许多时区的格式转换和计算。为了使用这个库,导入它并初始化一个自定义时区,并将datetime对象与时区关联起来。
领取专属 10元无门槛券
手把手带您无忧上云