我在 mongodb 中以 UTC 格式存储了几条推文,并将推文中指定的 utc 时间转换为本地机器中的本地时区,它在本地机器中正确呈现,但在我的服务器中不正确。
存储
#d is the tweet
created_at = d['created_at']
dt = datetime.datetime.strptime(created_at,\
"%a %b %d %H:%M:%S +0000 %Y")
dt = dt.replace(second = 0, minute=0)
db.collection({'created_at': dt})
转换
here = tz.tzlocal('Asia/Colombo')
utc = tz.gettz('UTC')
for index, item in enumerate(items):
ist = item['created_at'].replace(tzinfo=utc).astimezone(here)
ist_readable = ist.replace(minute =0, second = 0).ctime()
items[index]['created_at'] = ist_readable
return items
输出
Thu Apr 19 04:00:00 2012
Thu Apr 19 03:00:00 2012
在本地机器中输出
Thu Apr 19 09:00:00 2012
Thu Apr 19 08:00:00 2012
本地机器时区设置为“IST”,服务器时区设置为“UTC”。