您的当前位置:首页正文

Django和Python中的Timezone处理

来源:东饰资讯网

总的原理

  • 进入到django数据库中的时间一定是timezone aware的时间,如果要生成时间,要通过replace timezone设置为本地时区。
  • 数据库中的时间都是utc时间

Django中的timezone

from django.utils import timezone
>>> t=timezone.now()
>>> t
datetime.datetime(2016, 1, 4, 2, 13, 54, 582231, tzinfo=<UTC>)
>>>new_t=timezone.localtime(t)
>>>new_t
datetime.datetime(2016, 1, 4, 10, 13, 54, 582231, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>)

Python中的datetime

>>>import datetime
>>>t = datetime.datetime.strptime("2016-1-4", "%Y-%m-%d")
>>>t
datetime.datetime(2016, 1, 4, 0, 0)
>>>new_t = t.replace(tzinfo=(pytz.timezone('Asia/Shanghai')))
>>>new_t
datetime.datetime(2016, 1, 4, 0, 0, tzinfo=<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>)
显示全文