python中最常用的三个处理时间的库:time、datetime、calendar

 

本文主要讲解 time 的用法。

 

先上目录

一、time模块的作用

二、time模块表示时间的四种方式

三、四种表示时间的方式之间的转换图

四、time模块一些常用api的用法

 

一、time模块的作用

时间获取、表达和转换。

 

二、time模块表示时间的四种方式

时间戳(timestamp)的表现形式:

1581838663.752684

 

时间对象(struct_time)表现形式 :

time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

 

默认时间字符串(defaut_time)表示形式:

'Feb 16 2020 07:42:38'

 

自定义时间字符串(format_time)表示形式:

'2020-02-16 17:37:28'

 

接下来,详细讲解这四种时间表示方式

(1)timestamp时间戳表现形式

生成时间戳的例子:

time.time()

python 怎么安装time支持库 python安装time模块_python 怎么安装time支持库

 

(2)struct_time时间对象表现形式 

生成时间对象的例子:

time.strptime("30 Nov 00", "%d %b %y") 

python 怎么安装time支持库 python安装time模块_python 怎么安装time支持库_02

 

(3)format_string自定义时间字符串表现形式 

生成自定义时间字符串的例子:

time.strftime('%b %d %Y %H:%M:%S', time.gmtime(time.time()))

python 怎么安装time支持库 python安装time模块_字符串_03

 

(4)defaut_string默认时间字符串表现形式 

生成默认时间字符串的例子:

time.asctime()

默认以 %a %b %d %H:%M:%S %Y 形式展示

python 怎么安装time支持库 python安装time模块_时间对象_04

 

三、四种表示时间的方式之间的转换图

format_stringstruct_timetimestamp的互相转换如下图所示:

python 怎么安装time支持库 python安装time模块_时间对象_05

 

defaut_timestruct_timetimestamp的相互转换如下图所示:

python 怎么安装time支持库 python安装time模块_时间戳_06

 

四、time模块一些常用api的用法

1)time.asctime(t)

说明:

接受时间元组并返回 默认时间字符串(defaut_time)的形式, t 代表元组(下面的内容不再做此说明)

形如:"Sun Jun 20 23:21:05 1993" (1993年6月20日 周日 23时21分05秒)

例子:

python 怎么安装time支持库 python安装time模块_时间对象_04

 

注意,传入的时间元组的格式是:

t = (tm_year, tm_mon, tm_mday, 
     tm_hour, tm_min, tm_sec,
     tm_wday, tm_yday, tm_isdst)

 

以下是参数对照表:

指数

属性

价值观

0

tm_year

(例如,1993年)

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]; 见(2)中 strftime()描述

6

tm_wday

范围[0,6],星期一为0

7

tm_yday

范围[1,366]

8

tm_isdst

0、1或-1;见下文

不适用

tm_zone

时区名称的缩写

不适用

tm_gmtoff

以秒为单位偏移UTC以东

 

(2)time.time()

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

例子:

python 怎么安装time支持库 python安装time模块_字符串_08

 

 

(3)time.sleep(secs)

说明:推迟调用线程的运行,secs指秒数。

例子:

python 怎么安装time支持库 python安装time模块_时间对象_09

 

(4)time.ctime(secs)

说明:作用相当于asctime(localtime(secs)),未给参数相当于asctime()

例子:

python 怎么安装time支持库 python安装time模块_时间对象_10

 

(5)time.localtime([secs]

说明:

不传入参数的话,返回当前时间的时间对象(struct_time);

传入时间戳参数的话,返回指定时间时间对象。

例子:

python 怎么安装time支持库 python安装time模块_时间戳_11

 

(6)time.strftime(format, t) 

说明:

接收以时间对象(struct_time),并返回以自定义字符串所表示的当地时间,格式由 format 决定。

 

例子:

python 怎么安装time支持库 python安装time模块_时间戳_12

一般习惯格式化成:%Y-%m-%d %H:%M:%S

 

拓展python中时间日期格式化符号(比较常用的标      

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

(7)time.strptime(string, format)

说明:根据 format 的格式把一个时间字符串解析为时间元组。

例子:

python 怎么安装time支持库 python安装time模块_python 怎么安装time支持库_13

 

(8)time.mktime(string, format)

说明:接受时间对象并返回时间戳(1970纪元后经过的浮点秒数)。

例子:

python 怎么安装time支持库 python安装time模块_python 怎么安装time支持库_14

 

(9)time.gmtime([secs])

说明:接收时间戳并返回时间对象

例子:

python 怎么安装time支持库 python安装time模块_python 怎么安装time支持库_15

 

(10)time.process_time() 

说明:返回当前进程执行 CPU 的时间总和,不包含睡眠时间。

例子:

python 怎么安装time支持库 python安装time模块_时间戳_16

 

(11)time.perf_counter() 

说明:返回计时器的精准时间(系统的运行时间),包含整个系统的睡眠时间。

例子:

python 怎么安装time支持库 python安装time模块_时间对象_17

 

(10)和(11)常常用来计算程序的执行耗时。

 

假如说,你平时用的是 jupyter,还有一个更简单的方式计算程序执行耗时。

 

那就是 %timeit

 

例子:

python 怎么安装time支持库 python安装time模块_时间戳_18

 

是不是特别方便呢?

 

总结一下

比较常用的api有

time.time()

获取当前时间戳

time.localtime()

获取当前时间对象

time.gmtime()

时间戳转时间对象

time.mktime()

时间对象转时间戳

time.strftime()

时间对象转自定义时间字符串

time.strptime()

自定义时间字符串转时间对象

time.sleep()

延时

 

关于作者

github:https://github.com/GitDzreal93/dev-tester