最近在项目中遇到一个问题:数据库中存放的时间为UTC时间,但是现在要求都出来显示的时间为本地时间,由于自己之前很少接触Python,对Python中的datetime操作很不熟悉,在网上查阅了相关资料后终于成功解决了这个问题,方法如下:
from dateutil import tzfrom datetime import datetime# UTC Zonefrom_zone = tz.gettz('UTC')# China Zoneto_zone = tz.gettz('CST')utc = datetime.utcnow()# Tell the datetime object that it's in UTC time zoneutc = utc.replace(tzinfo=from_zone)# Convert time zonelocal = utc.astimezone(to_zone)print datetime.strftime(local, "%Y-%m-%d %H:%M:%S")
对于如何获得当地时区的代码,可以参考下面的代码:
from datetime import *from dateutil.tz import *print datetime.now(tzlocal()).tzname()
OVER!