• 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 当前时区的名称
    %% %号本身

    天街小雨润如酥,草色遥看近却无 最是一年春好处,绝胜烟柳满皇都
  • 相关阅读:
    IIS7.5应用程序池集成模式和经典模式的区别【转】
    Qt keyPressEvent keyReleaseEvent 分析
    cesium编程中级(二)源码编译
    cesium编程中级(一)添加示例到Sandcastle
    cesium编程中级开篇
    cesium编程入门(九)实体 Entity
    cesium编程入门(八)设置材质
    QPushButton 点击信号分析
    cesium编程入门(七)3D Tiles,模型旋转
    cesium编程入门(六)添加 3D Tiles,并调整位置,贴地
  • 原文地址:https://www.cnblogs.com/jmlovepython/p/4342991.html
Copyright © 2020-2023  润新知