Chinaunix首页 | 论坛 | 博客
  • 博客访问: 480165
  • 博文数量: 135
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 1441
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-05 20:39
文章分类
文章存档

2012年(2)

2011年(130)

2009年(2)

2008年(1)

我的朋友

分类: Python/Ruby

2011-08-11 14:13:42

 

    Python下转换时间格式

    将datetime类型转换成HTTP头所用的GMT时间格式的字符串(如’Thu, 19 Feb 2009 16:00:07 GMT’):

     

    import datetime

    Imoprt time

    #从时间得到格式化的可读时间

  1. GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
  2. datetime.datetime.utcnow().strftime(GMT_FORMAT) or

    time.strftime(GMT_FORMAT, time.gmtime(time.time())) or  0_timezone

    time.strftime(GMT_FORMAT, time.localtime(time.time()))    local_timezone

     

    #格式化的可读时间得到从时间

  3. TIME = 'Thu, 19 Feb 2009 16:00:07 GMT'
  4. T = datetime.datetime.strptime(TIME, GMT_FORMAT) or

    T = time.strptime(Time, GMT_FORMAT)

  5. time.mktime(T)  => 得到时间

     

    其实就是使用strftimestrptime2个方法相互转换。

     

    另外还有一个数据类型 time.struct_time

    >>> t='2011-08-11 12:23:23'

    >>> time.strptime(t, '%Y-%m-%d %X')

    time.struct_time(tm_year=2011, tm_mon=8, tm_mday=11, tm_hour=12, tm_min=23, tm_sec=23, tm_wday=3, tm_yday=223, tm_isdst=-1)

     

    查看时区用

    >>> time.timezone

    -28800

    上面的值是一个秒值,是当前时区和0时区相差的描述,-28800=-8*3600,即为东八区。

     

    格式化参数

    %a 本地的星期缩写

    %A 本地的星期全称

    %b 本地的月份缩写

    %B 本地的月份全称

    %c 本地的合适的日期和时间表示形式

    %d 月份中的第几天,类型为decimal number10进制数字),范围[01,31]

    %f 微秒,类型为decimal number,范围[0,999999]Python 2.6新增

    %H 小时(24进制),类型为decimal number,范围[00,23]

    %I 小时(12进制),类型为decimal number,范围[01,12]

    %j 一年中的第几天,类型为decimal number,范围[001,366]

    %m 月份,类型为decimal number,范围[01,12]

    %M 分钟,类型为decimal number,范围[00,59]

    %p 本地的上午或下午的表示(AMPM),只当设置为%I12进制)时才有效

    %S 秒钟,类型为decimal number,范围[00,61]6061是为了处理闰秒)

    %U 一年中的第几周(以星期日为一周的开始),类型为decimal number,范围[00,53]。在度过新年时,直到一周的全部7天都在该年中时,才计算为第0周。只当指定了年份才有效。

    %w 星期,类型为decimal number,范围[0,6]0为星期日

    %W 一年中的第几周(以星期一为一周的开始),类型为decimal number,范围[00,53]。在度过新年时,直到一周的全部7天都在该年中时,才计算为第0周。只当指定了年份才有效。

    %x 本地的合适的日期表示形式

    %X 本地的合适的时间表示形式

    %y 去掉世纪的年份数,类型为decimal number,范围[00,99]

    %Y 带有世纪的年份数,类型为decimal number

    %Z 时区名字(不存在时区时为空)

    %% 代表转义的"%"字符

     

    Pasted from <>

     

阅读(1264) | 评论(0) | 转发(0) |
0

上一篇:钞票与学问

下一篇:用iptables限速

给主人留下些什么吧!~~