我有一个案例,我获得CET
日期时间(通过我的API),我想将其保存在我的django
数据库中。
当我这样做时,我总是收到运行时警告:
datetime.fromtimestamp(last_content_update)
当我添加replace
部分时,我没有收到错误但我的日期不正确(1小时轮班):
datetime.fromtimestamp(last_content_update).replace(tzinfo=utc)
知道如何加载我的日期时间时区吗?
谢谢!
答案 0 :(得分:3)
好的,最后我发现fromtimestamp()
需要一个时区参数!
就这样做:
datetime.fromtimestamp(last_content_update, tz=pytz.timezone("Europe/Paris"))
Here is a link到文档。
答案 1 :(得分:0)
您需要分两步完成此操作:
当启用对时区的支持时,Django会存储日期时间 数据库中的UTC信息......
这可以这样做:
import pytz
from django.utils import timezone
# Convert the naive datetime into a CET datetime
local_datetime = timezone.make_aware(naive_datetime, pytz.timezone('CET'))
# Convert the CET datetime to UTC
utc_datetime = local_datetime.astimezone(timezone.utc)
# Now it can be saved in the database on a model field
MyDateModel.objects.create(title='Another date model',
created=utc_datetime)