0 前言
最近抽空学习了Python的Time模块。time模块主要用来获取和处理时间相关的数据。这个模块还是比较简单易懂的。接下来介绍一下time模块的主要函数。
1 Time介绍
首先,time模块中用到的时间数据类型有3类:时间戳、时间元组、时间字符串。
- 时间戳是float型数据,表示从1970年1月1日到某个时间点的总计秒数。
- 时间元组是time模块中定义的tuple类型数据。主要有9部分:
- m_year 年
- tm_mon 月
- tm_mday 日
- tm_hour 小时
- tm_min 分钟
- tm_sec 秒钟
- tm_wday 星期
- tm_yday 月份
- tm_isdst 是否夏令时
官方文档中这样介绍:
1
2
3
4
5
6
7
8
9
10
11
12
13
14The other representation is a tuple of 9 integers giving local time. The tuple items are: year (including century, e.g. 1998) month (1-12) day (1-31) hours (0-23) minutes (0-59) seconds (0-59) weekday (0-6, Monday is 0) Julian day (day in the year, 1-366) DST (Daylight Savings Time) flag (-1, 0 or 1) If the DST flag is 0, the time is given in the regular time zone; if it is 1, the time is given in the DST time zone; if it is -1, mktime() should guess based on the date and time.
- 时间字符串是string类型的数据,一种便于阅读的时间数据表示形式。
2 主要函数
time()
time函数返回当前时间戳
示例:
1 |
|
输出:
1 |
|
localtime(secs)
localtime函数可以接收一个时间戳,返回一个时间元组;如果参数为空,则返回当前时间的元组。
示例:
1 |
|
输出
1 |
|
asctime(t)
asctime函数接受一个时间元组,返回一个格式化的字符串
示例:
1 |
|
输出:
1 |
|
ctime(secs)
ctime函数相当于localtime+asctime的结合
示例:
1 |
|
输出:
1 |
|
strftime(format,t)
strftime函数将时间元组转换成格式化时间字符串
示例:
1 |
|
输出:
1 |
|
strptime(str,format)
strptime函数将字符串解析,输出时间元组
示例:
1 |
|
输出:
1 |
|
gmtime(secs)
gmtime函数接收时间戳输出格林尼治时间元组
示例:
1 |
|
输出:
1 |
|
mktime(t)
mktime函数与gmtime函数相反,接收一个时间元组输出时间戳
示例:
1 |
|
输出:
1 |
|
clock()
返回进程开始后的cpu运行时间
示例:
1 |
|
输出:
1 |
|
这里警告说clock函数将在3.8版本被抛弃,新版本建议使用pref_counter()和process_time().
sleep(secs)
推迟调用线程的运行,secs指秒数。
示例:
1 |
|
输出:
1 |
|
3 最后
附上一个关系图:
time模块比较简单也是比较常用的模块,要搞清楚3种数据类型的转化。此外,还可以使用sleep()来挂起线程。接下来会学习与time模块相关的模块calendar模块