zoukankan      html  css  js  c++  java
  • python的时间模块

    python有两个重要的时间模块,分别是time和datetime

    先看time模块

    表示时间的几种方法:

    1)时间元组:time.struct_time(tm_year=2016,   tm_mon=7,    tm_mday=21,

                                                     tm_hour=22,       tm_min=32,    tm_sec=51,

                                                     tm_wday=3,       tm_yday=203, tm_isdst=0)
    此元组有9个元素(年,月,日,时,分,秒,周几,年中第几天,是否夏令时)

    2)时间戮:距离1970-01-01 00:00:00此时间的总秒数

    3)格式化显示 (‘%Y-%m-%d %X')等等

    4)英文显示   'Mon Jan 26 00:52:24 1970'
    先看一time模块的方法

    再看一下关系图:

    举几个例子

    先设一个时间元组,9个参数,最后3位可为0

    t = (2016,7,21,22,47,45,0,0,0)

    #给定时间求时间戮:
    In [21]: time.mktime(t)
    Out[21]: 1469112465.0

    #求当前时间戮 In [23]: time.time() Out[23]: 1469112643.2187786
    #按指定格式显示时间
    In [25]: time.strftime('%x %X',t) Out[25]: '07/21/16 22:47:45'
    #给定一个时间字符串,按给定格式拆分成数组 
    In [26]: str='2016-04-23 12:34:54'
    In [27]: time.strptime(str,'%Y-%m-%d %X') Out[27]: time.struct_time(tm_year=2016, tm_mon=4, tm_mday=23, tm_hour=12, tm_min=34, tm_sec=54, tm_wday=5, tm_yday=114, tm_isdst=-1)
    In [28]: #英文显示
    
    In [29]: time.asctime(t)
    Out[29]: 'Mon Jul 21 22:47:45 2016'

    time.sleep(秒) 延时给定秒数

    ============================================================================================================

    (二)datetime模块

    此模块下有几个子模块:

    date:处理年月日,

    time:处理分秒时,微秒

    datetime:处理年月日,时分秒,微秒,以此为主讲一讲

    看一下datetime子模块下的方法,属性

    datetime子模块也有个时间元组,是7个元素,可省略,省略的话默认为0

    做了一个简单的说明图(图中有个小错误,时间元组是7个元素)

    举几个例子:

    In [32]: from datetime import datetime
    
    In [33]: #获取当前时间
    
    In [34]: datetime.now()
    Out[34]: datetime.datetime(2016, 7, 21, 23, 12, 51, 572284)
    
    In [35]: datetime.today()
    Out[35]: datetime.datetime(2016, 7, 21, 23, 13, 1, 458328)
    
    In [36]: #获取零时区时间
    
    In [37]: datetime.utcnow()
    Out[37]: datetime.datetime(2016, 7, 21, 15, 13, 40, 754435)
    In [38]: #获取当前时间戮
    
    In [39]: a=datetime.now()
    
    In [40]: a.timestamp()
    Out[40]: 1469114156.388418
    In [42]: #设置一个时间对象
    
    In [43]: d=datetime(2016,7,21,22,23,15)
    
    In [44]: #自定义格式显示
    
    In [45]: d.strftime('%x %X')
    Out[45]: '07/21/16 22:23:15'
    
    In [46]: #显示英文格式
    
    In [47]: d.ctime()
    Out[47]: 'Thu Jul 21 22:23:15 2016'
    
    In [48]: #显示日历(年,年中第几周,周几)
    
    In [49]: d.isocalendar()
    Out[49]: (2016, 29, 4)

    datetime子模块单位时间间隔:datetime.resolution=1微秒。

    date子模块的时间间隔为1天  date.resolution=1天

    时间间隔乘以一个数,表示间隔几天

    In [50]: from datetime import date
    
    In [51]: #现在时间是
    
    In [52]: date.today()
    Out[52]: datetime.date(2016, 7, 21)
    
    In [53]: #100天以前的日期是
    
    In [54]: date.today()-date.resolution*100
    Out[54]: datetime.date(2016, 4, 12)

    6个元素的时间元组可以转换成9个元素的时间元组,供time模块使用

    In [56]: d
    Out[56]: datetime.datetime(2016, 7, 21, 22, 23, 15)
    
    In [57]: d.timetuple()
    Out[57]: time.struct_time(tm_year=2016, tm_mon=7, tm_mday=21, tm_hour=22, tm_min=23, tm_sec=15, tm_wday=3, tm_yday=203, tm_isdst=-1)

    时间格式化:

    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12) 
    %M 分钟数(00=59)
    %S 秒(00-59)

    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身

    天街小雨润如酥,草色遥看近却无 最是一年春好处,绝胜烟柳满皇都
  • 相关阅读:
    POJ 3114 Tarjan+Dijkstra
    278. First Bad Version
    209. Minimum Size Subarray Sum
    154. Find Minimum in Rotated Sorted Array II
    153. Find Minimum in Rotated Sorted Array
    710. Random Pick with Blacklist
    767. Reorganize String
    524. Longest Word in Dictionary through Deleting
    349. Intersection of Two Arrays
    350. Intersection of Two Arrays II
  • 原文地址:https://www.cnblogs.com/jmlovepython/p/4342991.html
Copyright © 2011-2022 走看看