• time and datetime


    一、简述

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

    二、time模块

    1、time.process_time()

    功能:测量处理器的运算时间,但是不包括sleep时间

    >>> import time
    >>> time.process_time()
    0.171875
    >>> 
    

      

    2、time.altzone()

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

    >>> import time
    >>> time.altzone
    -32400
    >>> time.altzone / 3600
    -9.0
    >>> 
    

      

    3、time.asctime()

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

    >>> import time
    >>> time.asctime()
    'Wed Mar 27 23:41:28 2019'
    >>> 
    

      

    4、time.localtime()

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

    >>> import time
    >>> t = time.localtime()
    >>> t
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=42, tm_sec=20, tm_wday=2, tm_yday=86, tm_isdst=0)
    >>> t.tm_hour
    23
    >>> 
    

      

    5、time.time()

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

    >>> import time
    >>> time.time()
    1553701394.1449068
    >>> time.localtime(time.time())
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=43, tm_sec=22, tm_wday=2, tm_yday=86, tm_isdst=0)
    # 给当前时间加上3个小时,注意了,localtime中只能介绍秒级别的,所以是3600*3表示3个小时
    >>> time.localtime(time.time() + 3600*3)
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=28, tm_hour=2, tm_min=43, tm_sec=39, tm_wday=3, tm_yday=87, tm_isdst=0)
    #跟asctime结合起来用 生成当前时间格式
    >>> time.asctime( time.localtime( time.time() ) )
    'Wed Mar 27 23:43:47 2019'
    >>> 
    

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

    6.time.gmtime()

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

    >>> import time
    >>> time.gmtime()    # 返回utc的时间struct time 格式
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=15, tm_min=45, tm_sec=27, tm_wday=2, tm_yday=86, tm_isdst=0)
    >>> time.asctime(time.gmtime())  # 伦敦时间
    'Wed Mar 27 15:45:36 2019'
    >>> time.asctime(time.localtime())  # 北京时间,两者正好相差8个小时
    'Wed Mar 27 23:45:43 2019'
    >>> 
    

      

    7、time.strptime()

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

    >>> import time
    >>> time.strptime("2019-03-27 23:50","%Y-%m-%d %H:%M")
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=50, tm_sec=0, tm_wday=2, tm_yday=86, tm_isdst=-1)
    >>> 
    

      

    8、time.mktime()

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

    >>> import time
    >>> t = time.strptime("2019-03-27 23:50","%Y-%m-%d %H:%M")
    >>> t2_stamp = time.mktime(t)
    >>> t2_stamp
    1553701800.0
    >>> 
    

      

    9、time.strftime()

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

    >>> import time
    >>> t = time.strptime("2019-03-27 23:50","%Y-%m-%d %H:%M")
    >>> m = time.strftime("%Y-%m-%d-%H-%M.log",t)
    >>> m
    '2019-03-27-23-50.log'
    >>> m = time.strftime("%Y-%m-%d-%H-%M.log")
    >>> m
    '2019-03-27-23-49.log'
    >>> 
    

      

    三、时间格式转换

    1、转换表格

    2、时间格式转换关系图

     

    四、datetime模块

    1、datetime.datetime.now()

    功能:返回当前时间,格式如:2019-03-27 23:51:46.470982

    >>> import datetime
    >>> print(datetime.datetime.now())
    2019-03-27 23:51:46.470982
    >>> 
    

      

    2、datetime.date.fromtimestamp()

     功能:时间戳转换为日期格式

    >>> import datetime, time
    >>> t = datetime.date.fromtimestamp(time.time())
    >>> print(t)
    2019-03-27
    >>> 
    

      

    3、datetime.timedelta()

    功能:对某个时间的加减

    import datetime
    t1 = datetime.datetime.now()  + datetime.timedelta(days=3)  # 当前时间加3天
    print(t1)   # 2019-03-30 23:54:12.276922
    t2 = datetime.datetime.now()  - datetime.timedelta(days=3)  # 当前时间减3天
    print(t2)  # 2019-03-24 23:55:11.134536
    t3 = datetime.datetime.now()  + datetime.timedelta(days=-3)  # 当前时间减3天
    print(t3)  # 2019-03-24 23:56:05.031826
    t4 = datetime.datetime.now()  + datetime.timedelta(hours=3)  # 当前时间加3个小时
    print(t4)  # 2019-03-28 02:56:46.670753
    t5 = datetime.datetime.now()  + datetime.timedelta(minutes=30)  # 当前时间加30分钟
    print(t5)  # 2019-03-28 00:27:18.182722
    

      

    4、时间替换 

    >>> import datetime
    >>> c_time = datetime.datetime.now()
    >>> print(c_time)
    2019-03-27 23:59:51.528180
    >>> update_c_time = c_time.replace(minute=3,hour=2)   # 时间替换
    >>> print(update_c_time)
    2019-03-27 02:03:51.528180
    >>> 
    

      

  • 相关阅读:
    存储过程参数不能使用函数
    .gitignore git已跟踪文件不生效
    Css选择器-层次选择器(关系选择器)
    Mysql自定义变量的作用
    jQuery 鼠标滑过Div变色
    DataTable导出excel 设置单元格格式
    layui table 详细讲解
    npm 常用命令详解
    SQL Server 2008下轻松调试T-SQL语句和存储过程
    帆软报表常用功能
  • 原文地址:https://www.cnblogs.com/hiuhungwan/p/10612292.html
Copyright © 2020-2023  润新知