项目一开始的 TIME_ZONE 需要修改
    TIME_ZONE = ‘Asia/Shanghai’
    这样基本不会遇到时间问题

    如果不幸接手运行很久的项目使用的是 UTC
    涉及时区不同,使用 pytz 库会方便很多

    datetime 的 replace 方法只改变当前时区
    astimezone 会把时间改变成参数中时区的时间

    django 数据库存储的是 带UTC时区的时间

    1. print obj.dt_update
    2. 2019-06-28 00:45:00+00:00

    赋值当前时间可以用 同样是 UTC时间的

    1. from django.utils import timezone
    2. print timezone.now()
    3. 2019-06-28 01:46:19.902540+00:00

    带有 UTC时区的 时间 转本地时间

    1. from pytz import timezone
    2. tzchina = timezone('Asia/Shanghai')
    3. utc = timezone('UTC')
    4. print utc_time.replace(tzinfo=utc).astimezone(tzchina)
    5. 2019-07-28 09:46:19.902546+08:00

    不带时区的本地时间

    1. from datetime import datetime
    2. print datetime.now()
    3. 2019-07-28 09:46:19.902529