zoukankan      html  css  js  c++  java
  • python常用模块——time模块

    参考博客:http://blog.csdn.net/SeeTheWorld518/article/details/48314501

         http://www.jb51.net/article/49325.htm

    time模块中常用的函数
    函数 功能
    time.time() 获取时间戳
    time.localtime() 获取时间元祖和将时间戳转换为时间元祖
    time.gmtime() 获取时间元祖和将时间戳转换为时间元祖
    time.mktime 将时间元祖转换为时间戳
    time.strftime() 获取格式化时间和将时间元祖转化为格式化时间
    time.sttptime() 将格式化时间转化为时间元祖
    time.asctime() 将时间元祖转化为固定格式
    time.ctime() 将时间戳转化为固定格式
    time.sleep() 休息
    time.clock()  

    在我们平常的代码中,经常需要和时间打交道。

    在python中,与时间处理相关的模块有:time、da'tetime以及calendar。

    学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来判断程序中那一块耗时最多,从而找到程序调优的重心。

    下面将使用最广的time模块,其他模块后续有机会陆续讲解。

    首先有几点需要说明:

    (1)在python中,通常有这几种方式表示时间:时间戳、格式化的时间字符串以及时间元祖(struct_time共九种元素)。

    (2)时间戳(timestamp):时间戳表示是从1970年1月1号00:00:00开始按秒计算到现在的偏移量。

    (3)时间元祖:时间元祖共有九个元素,返回时间元祖的函数主要有gmtime()、localtime()、strptime()。

    一、表示时间的三种方式

    1.时间戳

    >>> import time
    >>> time.time()
    1510666111.4657724  #距离1970年1月1日0点的秒数

    2.格式化时间

    >>> time.strftime("%Y-%m-%d %H:%M:%S")
    '2017-11-14 21:29:32' 
    常见格式化的时间字符串中参数的含义
    %Y        完整的年份(4个数字)
    %m 月份(1-12)
    %d 一个月中的第几天(1-31)
    %H 一天中的第几个小时(0-23)
    %M 分钟数(0-59)
    %S 秒(0-59)
    %c 标准的日期的时间串,例:'Wed Nov 15 00:43:54 2017'
    %C 年份的后两位数字
    %D 月/天/年,例:'11/15/17'
    %H 24小时制
    %I 12小时制
    %F 年/月/日,例:'2017-11-15'
    %T 显示时分秒,例:'00:50:00'
    %x 标准的日期串,例:'11/15/17'
    %X 标准的时间串,例:'00:50:55'
    %a 星期几的简写,例:'Wed'
    %A 星期几的全称,例:'Wednesday'
    %b 月份的简写,例:'Nov'
    %B 月份的全称,例:'November'
    %V 每年的第几周
    %u 每周的第几天
    %U 第*年的第几周

    3.时间元祖

    >>> time.localtime()  #本地时间
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=21, tm_min=29, tm_sec=46, tm_wday=1, tm_yday=318, tm_isdst=0)
    
    >>> time.gmtime()   #标准时间,相对伦敦提前8小时
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=13, tm_min=30, tm_sec=30, tm_wday=1, tm_yday=318, tm_isdst=0)

    我们称之为时间元祖,虽然不是元祖,但类似元祖。

    #可以按照索引来取值
    >>> time_tuple[0]
    2017
    >>> time_tuple[1]
    11
    时间元祖中个元素所代表的含义
    tm_year
    tm_mon 月(1-12)
    tm_mday 日(1-31)
    tm_hour 时(0-23)
    tim_min 分(1-59)
    tm_sec 秒(0-59)
    tm_wday 星期几(0-6,0表示周日)
    tm_yday 一年中的第几天(1-365)
    tm_isdst

    是否是夏令时(默认-1)

    二、time模块中常用的函数

    在使用该模块中的函数的时候,必须先引入该模块(import time)

    1.time.time():返回当前时间时间戳。

    >>> time.time()
    1510671831.6499062

    2.time.localtime():功能有两个:(1)返回当前的时间元祖;(2)将一个时间戳转化为时间元祖。

    当没有传参数的时候默认调用time.localtime()

    >>> time.localtime() #获取本地时间元祖
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=5, tm_sec=4, tm_wday=1, tm_yday=318, tm_isdst=0)
    
    >>> time.localtime(time.time())#将时间戳转化为时间元祖
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=7, tm_sec=28, tm_wday=1, tm_yday=318, tm_isdst=0)

    3.time.gmtime():与time.localtime()功能一样,返回当前时间元祖和将一个时间戳转化为时间元祖。

    >>> time.gmtime() #获得时间元祖
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=15, tm_min=9, tm_sec=12, tm_wday=1, tm_yday=318, tm_isdst=0)
    
    >>> time.gmtime(time.time())  #将时间戳转化为时间元祖
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=15, tm_min=9, tm_sec=18, tm_wday=1, tm_yday=318, tm_isdst=0)

    4.time.mktime():将一个时间元祖转换为时间戳。

    >>> time_tuple = time.localtime()
    >>> time.mktime(time_tuple)
    1510672372.0

    5.time.strptime():将一个格式化的时间字符串转化为时间元祖。

    >>> time.strptime('2017-11-14 16:23:33',"%Y-%m-%d %M:%H:%S")
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=16, tm_sec=33, tm_wday=1, tm_yday=318, tm_isdst=-1)

    6.time.strftime():功能有两个:(1)获取格式化的时间字符串;(2)将时间元祖转化为格式化时间。

    #获取格式化时间
    >>> time.strftime("%Y-%m-%d %M:%H:%S")
    '2017-11-14 16:23:33'
    
    #将时间元祖转化为格式化时间
    >>> time_tuple
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=12, tm_sec=52, tm_wday=1, tm_yday=318, tm_isdst=0)
    >>> time.strftime('%Y-%m-%d %M:%H:%S',time_tuple) #时间格式在前
    '2017-11-14 12:23:52'

    7.time.asctime():将一个表示时间的元祖或者struct_time表示为'Tue Nov 14 23:12:52 2017'这种形式,如果没有传参数,默认以time.localtime()作为参数。

    #将时间元祖表示成固定的形式
    >>> time_tuple
    time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=12, tm_sec=52, tm_wday=1, tm_yday=318, tm_isdst=0)
    >>> time.asctime(time_tuple)
    'Tue Nov 14 23:12:52 2017'
    #如果没有指定参数,默认以time.localtime()作为参数
    >>> time.asctime()
    'Tue Nov 14 23:27:59 2017'

    8.time.ctime():将一个时间戳转换为'Tue Nov 14 23:32:58 2017'这种形式,如果没有指定参数,默认以time.local()作为参数

    #转换时间戳
    >>> time.ctime(1000000000)
    'Sun Sep  9 09:46:40 2001'
    #默认情况
    >>> time.ctime()
    'Tue Nov 14 23:32:58 2017'

    9.time.sleep():线程推迟指定的时间运行。默认单位为秒。

    >>> time.sleep(10)

    10.time.clock()

  • 相关阅读:
    FastReport3.18使用心得
    FastReport问题整理
    SQL server 2005基于已存在的表创建分区
    SQL Server 2005对海量数据处理
    SQL SERVER2005加密解密数据
    Linux/Unix环境下的make和makefile详解 
    我想要的书
    全面提升BIND DNS服务器安全华江
    NOR和NAND Flash存储器的区别
    两个应届生找工作的好网站
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/7836615.html
Copyright © 2011-2022 走看看