我在处理DateTimeField字段时遇到麻烦。
问题是,假设我用这样的时区创建了日期时间
update
我想将“ y”转换为UTC,以便将其保存到DateTimeField
我该怎么做?
这是我的控制台测试的其余部分
>>> x = datetime.tzinfo("Asia/Kuala_Lumpur")
>>> y = datetime.datetime(2018, 7, 29, 12, 0, 13, 204815, x)
答案 0 :(得分:0)
我让它起作用
import datetime
import pytz
time_zone = pytz.timezone('Asia/Kuala_Lumpur')
# get naive date
date = datetime.datetime.strptime("28/07/2018", '%d/%m/%Y').date()
# get naive time
time = datetime.time(12, 30)
# combite to datetime
date_time = datetime.datetime.combine(date, time)
# make time zone aware
date_time = time_zone.localize(date_time)
# convert to UTC
utc_date_time = date_time.astimezone(pytz.utc)
# get time
utc_time = utc_date_time.time()
答案 1 :(得分:0)
你不知道。
Django的DateTimeField存储为Postgresql的datetimetz
类型。 datetimetz类型不存储任何时区信息。它存储为UTC时间,当您执行SELECT时,它将根据数据库设置中定义的时区显示它。