python的time模块经常使用方法

time模块

这个模块提供各类与时间相关的函数。相关功能,能够参见datetime和calendat模块。
此模块并不是全部平台提供全部功能,因平台而异
如下是对一些术语和惯例的解释tcp

  • 初始时间因平台而异。对于Unix平台,初始时间是1970,01,01,00:00:00(UTC)。查看每一个操做平台的初始时间可使用time.gmtime(0)函数。
  • 在全部POSIX平台上,从初始时间以来的秒数都不包括闰秒
  • 该模块中的函数可能不处理初始时间之前和遥远将来的日期和时间,将来的分界点对于32位操做系统是2038年。
  • UTC是协调世界时(之前称为格林尼治标准时间,GMT)。缩写UTC不是一个错误,而是英语和法语之间的妥协。
  • DST是夏令时,在一年中的某些时候,时区一般会调整一个小时。DST规则是神奇的(由当地法律决定),每一年都在变化。
  • 各类实时函数的精度可能低于表示其值或参数的单位所建议的精度。

###时间类型的格式
####struct_time类型
它是一个具备命名元组接口的对象:能够经过索引和属性名访问值。存在如下值:ide

  • index---attribute---values
  • 0---tm_year---年份
  • 1---tm_mon---月份range[1,12]
  • 2---tm_mday---天数range[1,31]
  • 3---tm_hour---小时range[0,23]
  • 4---tm_min---分钟range[0,59]
  • 5---tm_sec---秒数range[0,61]
  • 6---tm_wday---星期range[0,6],0是星期日
  • 7---tm_yday---一年中的一天range[1,366]
  • 8---tm_isdst---tm_isdst能够在夏令时生效时设置为1,而在夏令时不生效时设置为0。值-1表示这是未知的。
  • N/A---tm_zone---时区名称的缩写
  • N/A---tm_gmtoff---协调世界时以东偏移,以秒为单位.

例如,time.struct_time(tm_year=2019, tm_mon=3, tm_mday=20, tm_hour=23, tm_min=11, tm_sec=33, tm_wday=2, tm_yday=79, tm_isdst=0)函数

####格式化时间类型
例如,'Wed Mar 20 23:12:26 2019'性能

####时间戳类型
从初始时间到指定时间的秒数。
例如,time.time()获得的float类型的秒数,spa

###时间类型之间的相互转换
操作系统

##函数
time.asctime([t])
**做用:**将struct_time类型的时间转换为以下形式:'Sun Jun 20 23:21:05 1993' **参数:**struct_time类型或tuple类型的时间,不填参数的话默认为time.localtime()获得的时间。
返回值:'Sun Jun 20 23:21:05 1993'类型的时间。线程

time.pthread_getcpuclockid(thread_id)
**做用:**返回指定线程id的线程特定CPU时间时钟的clk_id。
**参数:**线程的id,可使用threading.get_ident()或线程的ident属性获得线程id。
**返回值:**clk_id
**注意:**只有Unix可用orm

time.clock_getres(clk_id)-->float
**做用:**返回指定时钟clk_id的分辨率(精度)。有关clk_id的可接受值列表,请参考时钟ID常量。
**注意:**只用Unix可用对象

time.clock_gettime_ns(clk_id)-->int
**做用:**与clock_gettime()相似,可是返回的时间是纳秒。
**注意:**只用Unix可用blog

time.clock_settime(clk_id,time:float)
**做用:**设置指定时钟clk_id的时间。目前,CLOCK_REALTIME是clk_id唯一接受的值。
**注意:**只用Unix可用

time.clock_settime_ns(clk_id,time:int)
**做用:**与clock_settime()相似,可是使用纳秒设置时间。
**注意:**只用Unix可用

time.ctime([secs])
**做用:**将时间戳的时间转换为表示本地时间的字符串。若是没有提供secs或没有提供secs,则使用time()返回的当前时间。
**参数:**时间戳类型的时间,若是不填默认为当前时间的时间戳。
**返回值:**格式化类型的时间,例如'Mon Mar 18 23:56:35 2019'。

time.get_clock_info(name)
**做用:**以命名空间对象的形式获取指定时钟的信息。
参数:

  • 'clock':time.clock()
  • 'monotonic':time.monotonic()
  • 'perf_counter':time.perf_counter()
  • 'process_time':time.process_time()
  • 'tread_time':time.tread_time()
  • 'time':time.time()

返回值:

  • adjustable:若是时钟能够自动更改(例如由NTP守护进程)或由系统管理员手动更改,则为True,不然为False。
  • implementation:用于获取时钟值的底层C函数的名称。有关可能的值,请参考时钟ID常量。
  • monotonic:若是时钟不能倒转,则为真,反之为假。
  • resolution:时钟的分辨率(以秒为单位)(浮点数)。
  • 例如,namespace(adjustable=False, implementation='QueryPerformanceCounter()', monotonic=True, resolution=3.775811922277177e-07)

time.gmtime([sec])
**做用:**将时间戳类型的时间转换为UTC中的struct_time,其中dst标志始终为零。
**参数:**时间戳类型的时间,若是没有提供secs或没有提供secs,则使用time()返回的当前时间。
**返回值:**struct_time类型的时间

time.localtime([sec]) **做用:**就像time.gmtime(),可是转换为本地时间。当dst应用于给定的时间时,dst标志被设置为1。
**参数:**时间戳类型的时间,若是没有提供secs或没有提供secs,则使用time()返回的当前时间。
**返回值:**struct_time类型的时间

time.mktime(t)
**做用:**将struct_time类型的时间转换为时间戳类型。
**参数:**struct_time类型的时间。
**返回值:**时间戳类型。

time.monotonic()-->float
**做用:**返回一个单调时钟的值(以分数秒为单位),即一个不能倒退的时钟。时钟不受系统时钟更新的影响。返回值的引用点是未定义的,所以只有连续调用的结果之间的差别是有效的。

time.monotonic_ns()-->int
**做用:**和time.monotonic()相似,但返回值为纳秒。

time.perf_counter()-->float **做用:**返回性能计数器的值(以小数秒为单位),即具备最高可用分辨率来测量短期的时钟。它确实包括在睡眠期间所花费的时间,而且是全系统的。返回值的引用点是未定义的,所以只有连续调用的结果之间的差别是有效的。

time.perf_counter_ns()-->int
**做用:**和time.perf_counter()相似,但返回值为纳秒。

time.process_time()-->float
**做用:**返回当前进程的系统和用户CPU时间之和(以小数秒为单位)。它不包括睡眠时间。根据定义,它是过程范围的。返回值的引用点是未定义的,所以只有连续调用的结果之间的差别是有效的。

time.process_time_ns()-->int
**做用:**和time.process_time()相似,但返回值为纳秒。

time.sleep(secs)
**做用:**在给定的秒数内挂起调用线程的执行。
**参数:**秒数,参数能够是一个浮点数,表示更精确的睡眠时间。

time.strftime(format[,t])
**做用:**将struct_time类型的时间转换为format参数指定格式的字符串。
参数:

  • format:指定转换时间的字符串格式。
  • t:struct_time类型的时间,若是不填默认为当前时间(即time.localtime()返回的时间)

**返回值:**指定格式的字符串。
注:
如下指令能够嵌入格式字符串中。它们显示时没有可选的字段宽度和精度规范。

  • %a-->星期的缩写
  • %A-->完整的星期的名称
  • %b-->月份的缩写
  • %B-->完整的月份名称
  • %c-->'Wed Mar 20 21:40:19 2019'格式
  • %d-->十进制数格式的日期[01,31]
  • %H-->小时(24小时制) 十进制数[00,23]
  • %I-->小时(12小时制) 十进制数[01,12]
  • %j-->一年中的一天(十进制数)[001,366]
  • %m-->月份(十进制数)[01,12]
  • %M-->分钟数(十进制数)[00,59]
  • %p-->AM或PM
  • %S-->秒数[00,59]
  • %U-->一年中的周数(星期日做为一周的第一天)十进制数[00,53],第一个星期日以前的全部日子被认为是第0周。
  • %w-->星期数(十进制数)[0,6]
  • %W-->一年中的周数(星期一做为一周的第一天)十进制数[00,53],第一个星期一以前的全部日子被认为是第0周。
  • %x-->日期表示(月/日/不带世纪的年份)例如'03/20/19'
  • %X-->时间表示(时:分:秒)例如'21:56:34'
  • %y-->不带世纪的年份(十进制数)[00,99]
  • %Y-->带世纪的年份(十进制数)
  • %z-->时区偏移指示与格式+ HHMM或-HHMM形式的UTC / GMT的正或负时差,其中H表示十进制小时数字,M表示小数分钟数字[-23:59,+ 23:59]。
  • %Z-->时区名称,例如'中国标准时间'
  • %%-->'%'字符。

time.strptime(string[,format])
**做用:**根据格式解析表示时间的字符串。
参数:

  • string:字符串类型的时间。
  • format:提供字符串类型的时间的格式。

**返回值:**struct_time类型的时间。
**注:**ormat参数使用的指令与strftime()使用的指令相同;它默认为“%a %b %d %H:%M:%S %Y”,与ctime()返回的格式匹配。若是字符串不能按照格式进行解析,或者解析后有多余的数据,则会引起ValueError。当没法推断出更精确的值时,用于填充任何缺失数据的默认值是(1900、一、一、0、0、0、0、0、一、-1)。字符串和格式都必须是字符串。

time.time()-->float
**做用:**以秒为单位以浮点数返回历元以后的时间。

time.thread_time()-->float
**做用:**返回当前线程的系统和用户CPU时间之和(以小数秒为单位)。它不包括睡眠时间。它的定义是特定于线程的。返回值的引用点未定义,所以只有同一线程中连续调用的结果之间的差别是有效的。

time.thread_time_ns()-->int
**做用:**和time.thread_time()相似,可是返回值是纳秒。

time.time_ns()-->int **做用:**和time.time()相似,但返回值是纳秒。

相关文章
相关标签/搜索