Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1369434
  • 博文数量: 244
  • 博客积分: 3321
  • 博客等级: 中校
  • 技术积分: 2704
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-26 08:17
个人简介

微信公众号:杰夫弹弹看

文章分类

全部博文(244)

文章存档

2018年(4)

2017年(32)

2016年(25)

2015年(28)

2014年(27)

2013年(34)

2012年(25)

2011年(30)

2010年(39)

分类: Python/Ruby

2016-08-14 10:09:46

问题1, Django中集成了相应的函数来处理这种转化如下

参考 http://www.dannysite.com/blog/122/

>>> from django.utils.timezone import utc
>>> from django.utils.timezone import localtime
>>> now = datetime.datetime.utcnow().replace(tzinfo=utc)
>>> localtime(now)
datetime.datetime(2013, 12, 5, 0, 3, 13, 122000, tzinfo= CST+8:00:00 STD>) 
  
问题2, 还有一种情况,对应的是ISO8601 字符串,要转化成对应的datetime对象 
一种是用iso8601包,但是这种情况下需要单独通过pip安装iso8601, 
参考:https://julien.danjou.info/blog/2015/python-and-timezones 
>>> import iso8601
>>> iso8601.parse_date(utcnow().isoformat())

还有一种方式是用传统的python的dateutil包:
参考:
 
import dateutil.parser
yourdate = dateutil.parser.parse(datestring)

如果本身不是字符串,而是对应的datetime对象,可以直接使用
localtime来处理

 
问题3, 如果需要特殊的处理,可以写custom的 template filter,具体如下:
https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/ 

这种方式可以处理普通的template中无法处理的情况

阅读(1067) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~