python处理时间的函数库_【Python 标准库】时间相关的函数库 — time

time 模块提供了各种时间相关的函数,该模块中的大多数函数是调用了所在平台 C 语言库的同名函数,这些函数的语义因平台而异,可能会在不同的平台有不同的效果。

time 模块和 datetime 模块类似,区别在于 time 模块提供的功能是更加接近于操作系统层面,所能表述的日期范围被限定在 1970 - 2038 之间,而 datetime 模块提供了更多实用的函数,可以理解为 datetime 基于 time 进行了封装,更加高级。

1、time.sleep(secs)

暂停所执行的调用线程达到给定的秒数,然后恢复代码正常执行,参数可以是浮点数,以指示更精确的睡眠时间。实际的暂停时间可能小于请求的时间。

应用举例:

import time

print('第一条语句执行成功,5秒后执行下一条语句...')

time.sleep(5)

print('第二条语句执行成功。')1

2

3

4

2、time.time()

自纪元(Epoch)年起以秒为单位返回浮点数的时间

在 Windows 和大多数 Unix 系统上,纪元开始时间是 1970 年 1 月 1 日,00:00:00(UTC)

应用举例:

>>> import time

>>> print(time.time())

1582879127.95894121

2

3

3、time.gmtime([secs])

将一个时间戳转换为 UTC 时区的 struct_time 元组,struct_time 是在 time 模块中定义的表示时间的对象,可选的参数 secs 表示从纪元(Epoch)年起到现在的秒数,即从1970 年 1 月 1 日,00:00:00 起到现在的秒数,其默认值为 time.time(),函数返回 time.struct_time 类型的对象。

应用举例:

>>> import time

>>> print(time.gmtime())

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=10, tm_min=18, tm_sec=1, tm_wday=4, tm_yday=59, tm_isdst=0)

>>>

>>> print(time.gmtime(1582879127))

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=8, tm_min=38, tm_sec=47, tm_wday=4, tm_yday=59, tm_isdst=0)

>>>

>>> print(time.gmtime(666666.123456))

time.struct_time(tm_year=1970, tm_mon=1, tm_mday=8, tm_hour=17, tm_min=11, tm_sec=6, tm_wday=3, tm_yday=8, tm_isdst=0)1

2

3

4

5

6

7

8

9

struct_time 元组结构具有如下属性:

序号

属性

0

tm_year

4 位数,年

1

tm_mon

1 - 12,月

2

tm_mday

1 - 31,日

3

tm_hour

0 - 23,小时

4

tm_min

0 - 59,分钟

5

tm_sec

0 - 61,秒 (60 或 61 是闰秒)

6

tm_wday

0 - 6,一周的第几日 (0 是周一)

7

tm_yday

1 - 366,一年的第几日(儒略历)

8

tm_isdst

1 表示夏令时,0 表示非夏令时,-1 表示未知

4、time.localtime([secs])

localtime() 函数类似 gmtime(),作用是格式化时间戳为本地的时间,如果 secs 参数未输入,则以当前时间为转换标准。

应用举例:

>>> import time

>>> print(time.localtime())

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=19, tm_min=55, tm_sec=9, tm_wday=4, tm_yday=59, tm_isdst=0)

>>>

>>> print(time.localtime(1582879127))

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=16, tm_min=38, tm_sec=47, tm_wday=4, tm_yday=59, tm_isdst=0)1

2

3

4

5

6

5、time.mktime(t)

该函数执行与 gmtime() 和 localtime() 相反的操作,它接收 struct_time 对象作为参数,返回用秒数来表示时间的浮点数。t 参数表示结构化的时间或者完整的9位元组元素。

如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。

应用举例:

>>> print(time.mktime((2020,2,28,20,40,14,5,59,0)))

1582893614.01

2

6、time.strftime(format[, t])

根据带时间格式符号的字符串解析时间,并返回字符串,转换一个元组或 struct_time 时间到由 format 参数指定的字符串格式。如果未提供 t ,则使用由 localtime() 返回的当前时间,format 必须是一个字符串,如果 t 中的任何字段超出允许范围,则引发 ValueError 。

应用举例:

>>> import time

>>> print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))

2020-02-28 20:10:24

>>>

>>> print(time.strftime('%a %b %d %H:%M:%S %Y', time.localtime()))

Fri Feb 28 20:13:49 2020

>>>

>>> print(time.strftime('%a %b %d %H:%M:%S %Y')) # 未指定 t,则使用由 localtime() 返回的当前时间

Fri Feb 28 20:15:16 20201

2

3

4

5

6

7

8

9

7、time.strptime(string[, format])

与 time.strftime() 函数相反,time.strptime() 则是根据指定的格式把一个时间字符串解析为时间元组。string 参数表示时间字符串,format 参数表示格式化字符串。

应用举例:

>>> import time

>>> print(time.strptime("Fri Feb 28 20:13:49 2020", "%a %b %d %H:%M:%S %Y"))

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=20, tm_min=13, tm_sec=49, tm_wday=4, tm_yday=59, tm_isdst=-1)1

2

3

strftime() 和 strptime() 方法中 format 参数为时间日期格式化符号,各个格式化符号所代表的意思如下:

格式化符号

含义

%a

本地简化星期名称

%A

本地完整星期名称

%b

本地简化的月份名称

%B

本地完整的月份名称

%c

本地相应的日期表示和时间表示

%d

月内中的一天(0-31)

%f

以十进制数表示的毫秒,在左侧补零

%H

24小时制小时数(0-23)

%I

12小时制小时数(01-12)

%j

年内的一天(001-366)

%m

月份(01-12)

%M

分钟数(00=59)

%p

本地A.M.或P.M.的等价符

%S

秒(00-59)

%U

一年中的星期数(00-53)星期天为星期的开始

%w

星期(0-6),星期天为星期的开始

%W

一年中的星期数(00-53)星期一为星期的开始

%x

本地相应的日期表示

%X

本地相应的时间表示

%y

两位数的年份表示(00-99)

%Y

四位数的年份表示(000-9999)

%z

±HHMM[SS[.ffffff]] 形式的 UTC 差值(如果对象为简单型则为空字符串)

%Z

当前时区的名称

%%

%号本身

8、time.clock()

将当前 CPU 处理器时间返回为以秒为单位的浮点数,通常用来衡量不同程序的耗时,比 time.time() 更有用。

注意:该函数在不同的系统上含义不同,在 Unix 系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在 Windows 中,第一次调用,返回的是进程运行的实际时间,而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以 Win32 上 QueryPerformanceCounter() 为基础,它比毫秒表示更为精确)

应用举例:

>>> import time

>>> time.clock() # 获取时钟秒数

3e-07 # 第一次调用该函数以来到执行截止的秒数

>>> t1 = time.clock() # 第二次执行该函数截止秒数

>>> t2 = time.clock() # 第三次执行该函数截止秒数

>>> t2 - t1 # 第三次与第二次执行该函数截止秒数差

9.14337321

2

3

4

5

6

7

9、time.asctime([t])

该函数接受时间元组,并返回一个可读的形式为 Fri Feb 28 20:40:14 2020(2020年2月28日 周五20时40分14秒)的24个字符的字符串。

日期字段的长度为两个字符,如果日期只有一个数字则会以零填充。

如果不加参数 t,默认就是 time.localtime() 返回的时间元组。

接受的时间元组可以是由 gmtime() 或 localtime() 所返回的表示时间的元组。

应用举例:

>>> print(time.asctime()) # 不接收参数,默认 time.localtime() 返回的时间元组

Fri Feb 28 20:44:16 2020

>>>

>>> print(time.asctime(time.localtime())) # 接受 time.localtime() 参数

Fri Feb 28 20:45:49 2020

>>>

>>> print(time.asctime((2020,2,28,20,40,14,5,59,0))) # 人工指定时间结构元组

Sat Feb 28 20:40:14 20201

2

3

4

5

6

7

8

10、time.ctime([secs])

该函数把一个时间戳(按秒计算的浮点数)转化为 time.asctime() 的形式。 如果参数未给或者为 None 的时候,将会默认 time.time() 为参数。它的作用相当于 asctime(localtime(secs))。secs 参数表示要转换为字符串时间的秒数。

应用举例:

>>> print(time.ctime())

Fri Feb 28 20:55:23 2020

>>>

>>> print(time.ctime(1582879127))

Fri Feb 28 16:38:47 20201

2

3

4

5

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值