zoukankan      html  css  js  c++  java
  • 函数和常用模块【day06】:time模块 (一)

    本节内容

    1、简述

    2、time模块

    3、时间格式转换

    一、简述

       我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & datetime

    二、time模块

    1、time.process_time()

    功能:测量处理器的运算时间,但是不包括sleep时间,因为sleep只是把你的程序挂起,不太稳定。

    1
    2
    3
    >>> import time
    >>> time.process_time()
    0.8736056

    2、time.altzone()

    功能:返回与utc的时间的时间差,以秒计算

    1
    2
    3
    4
    5
    >>> import time
    >>> time.altzone
    -32400
    >>> time.altzone/3600
    -9.0 

     注:感觉有点不太准确,为什么是-9时呢?无解,先忘记它吧!

    3、time.asctime()

    功能:返回时间格式:'Thu Mar 30 16:47:39 2017'(星期 月 日  时间   年)

    1
    2
    3
    >>> import time
    >>> time.asctime()
    'Thu Mar 30 16:47:39 2017'   #返回 星期 月 日 时间  年

    4、time.localtime()

    功能:返回本地时间的struct _time的格式的对象,也可以把时间戳转换成成struct _time的格式的对象

    1
    2
    3
    4
    5
    6
    >>> import time
    >>> t = time.localtime()  #返回本地时间的对象,通过对象获取对应的年月日等信息
    >>> t
    time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=16, tm_min=52, tm_sec=10, tm_wday=3, tm_yday=89, tm_isdst=0)
    >>> t.tm_hour   # 获取小时数
    16

    5、time.time()

    功能:返回当前时间的时间戳(1970年纪元后经过的浮点秒数)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> import time
    #返回当前时间的时间戳
    >>> time.time()  
    1490864724.061428
    #跟localtime()结合起来返回当前时间对象
    >>> time.localtime(time.time())  
    time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=17, tm_min=5, tm_sec=38, tm_wday=3, tm_yday=89, tm_isdst=0)
    # 给当前时间加上3个小时,注意了,localtime中只能介绍秒级别的,所以是3600*3表示3个小时
    >>> time.localtime(time.time() + 3600*3)
    time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=20, tm_min=5, tm_sec=53, tm_wday=3, tm_yday=89, tm_isdst=0)
    #跟asctime结合起来用 生成当前时间格式
    >>> time.asctime( time.localtime( time.time() ) )
    'Thu Mar 30 17:06:26 2017'

    注:为啥是1970年呢?因为1970年1月1日被当做unix操作系统的诞生元年。

    6.time.gmtime()

    功能:返回当前utc时间(伦敦时间)

    1
    2
    3
    4
    5
    6
    7
    >>> import time
    >>> time.gmtime()   #返回utc的时间struct time 格式
    time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=9, tm_min=25, tm_sec=13, tm_wday=3, tm_yday=89, tm_isdst=0)
    >>> time.asctime(time.gmtime()) 
    'Thu Mar 30 09:26:14 2017'    #伦敦时间
    >>> time.asctime(time.localtime())
    'Thu Mar 30 17:26:14 2017'    #北京时间,两者正好相差8个小时

    注:没啥用处?知道就行。

    7、time.strptime()

    功能:把时间格式的字符串转成struct_time格式的时间对象

    1
    2
    3
    4
    >>> import time
    >>> time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
    #转换为struct_time格式的时间对象
    time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=17, tm_min=30, tm_sec=0, tm_wday=3, tm_yday=89, tm_isdst=-1)

    8、time.mktime()

    功能:把struct_time时间对象转成时间戳

    1
    2
    3
    4
    5
    6
    7
    >>> import time
    #生成struct_time时间对象
    >>> t = time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
    #时间对象转成时间戳
    >>> t2_stamp = time.mktime(t)
    >>> t2_stamp
    1490866200.0

    9、time.strftime()

    功能:struct_time时间对象转换成时间字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> import time
    #生成struct_time时间对象
    >>> t = time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
    #把时间对象转换成时间格式的字符串
    >>> m = time.strftime("%Y-%m-%d-%H-%M.log",t)
    >>> m
    '2017-03-30-17-30.log'
    #不传入时间对象,默认是当前时间
    >>> m = time.strftime("%Y-%m-%d-%H-%M.log")
    >>> m
    '2017-03-30-17-56.log'

     当然,中间如果需要用时间戳转换的话,你还可以这样,代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> import time
    #生成struct_time时间对象
    >>> t = time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
    #把时间对象转成时间戳
    >>> t2_stamp = time.mktime(t)
    #再通过localtime函数把时间戳转成struct_time时间对象
    >>> t3 = time.localtime(t2_stamp)
    #把时间对象转换成时间格式的字符串
    >>> m = time.strftime("%Y-%m-%d-%H-%M.log",t)
    >>> m
    '2017-03-30-17-30.log'

    三、时间格式转换

    1、转换表格

    2、时间格式转换关系图

     

  • 相关阅读:
    7.10.8107.79 小心80180048
    Sliverlight MD5
    WP 数据绑定Visibility
    WP7 剪贴板 Clipboard
    [10年之后我是谁]读书笔记
    linux面试题
    [你的灯亮着吗]读书笔记
    Linux命令行简明教程
    <Ruby入门教程>读书笔记
    [职场谎言系列]读书笔记
  • 原文地址:https://www.cnblogs.com/luoahong/p/7195885.html
Copyright © 2011-2022 走看看