人生苦短,我选Pythonhtml
前文传送门python
小白学 Python(2):基础数据类型(上)github
今天咱们要介绍的是一个会常常用到的模块—— time
,顾名思义,这是一个时间相关的模块。前面咱们也介绍过经常使用模块,好比 os
模块,在使用这些模块前,咱们须要先将它导入进来。 time
模块的导入方式以下:
import time
先来一个简单的样例吧:
for i in range(0, 5): print(i) time.sleep(1)
打印结果我就不展现了,同窗们应该都猜获得。那么 time.sleep(1)
这句话的做用是什么呢?
sleep()
方法是一个睡眠方法,意思就是程序执行到这里,须要等待一会,什么都不作,上面的代码在执行的时候能够发现,每隔 1s 会打印一个数字, sleep()
里面给出的参数是休眠的时间,单位是秒。
首当其冲固然是获取当前的时间戳。
print(time.time())
结果以下:
1573054874.6483195
这里就看不懂了哇,我先来解释下什么是时间戳。
在程序中,通常已1970年1月1日0时0分0秒做为起始时间,时间戳就是从起始时间到如今的时长,在 Python
中,这个时长的单位是秒。那么为何起始时间是1970年1月1日0时0分0秒呢?
emmmmmmmmmmmmm,这个我还真不知道,据我所了解的语言,全部的时间戳都是从这个时间点开始起算的。我顺手帮各位同窗百度了下,表示并无找到答案。
不要纠结这个问题了,咱们看下一个。
print(time.localtime())
结果以下:
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=6, tm_hour=23, tm_min=47, tm_sec=13, tm_wday=2, tm_yday=310, tm_isdst=0)
这个方法会给出详细的当前的本地时间,能够细化到年、月、日、小时、分钟、秒等。
注意: 这个时间是当前本地的计算的时间哦,若是修改计算机的时间,这个值会发生相应的改变的。
print(time.mktime(time.localtime()))
结果以下:
1573055380.0
各位同窗看着打印结果应该已经猜到了, mktime()
能够将当前的本地时间转化为一个时间戳。
以上不论是时间戳、仍是本地时间,看起来并不方便,下面咱们介绍如何格式化时间。
最简单的方法,可使用函数 asctime()
。
print(time.asctime(time.localtime()))
结果以下:
Wed Nov 6 23:53:52 2019
这个结果还带着英文,并不符合中国人的习惯嘛,别急,咱们还能够自定义格式。
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
结果以下:
2019-11-06 23:55:56
这样看着就舒服多了么,咱们能够经过 strftime()
来自定义日期格式。
这里列举一下日期格式化的符号:
哇,这也太多了,记不住怎么办?
其实这个并不须要你都记下来,只须要记住经常使用的就行了,就好比我上面使用的年、月、日、时、分、秒。其他的不经常使用的能够在有须要的时候再来查表。
有时候时间之间不使用短横杠 -
来隔开,而选择使用斜杠 /
隔开,这个怎么办?
这个很简单咯,看个人:
print(time.strftime("%Y/%m/%d %H:%M:%S", time.localtime()))
结果以下:
2019/11/07 00:02:18
都聊到这里了,咱们顺便再聊一个模块,日历。
先看下代码演示吧,这个就比较有意思了:
import calendar print(calendar.calendar(theyear=2020, w=2, l=1, c=6))
结果以下:
2020 January February March Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 1 6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8 13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15 20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22 27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29 30 31 April May June Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 27 28 29 30 25 26 27 28 29 30 31 29 30 July August September Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 1 2 3 4 5 6 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13 13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20 20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27 27 28 29 30 31 24 25 26 27 28 29 30 28 29 30 31 October November December Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 1 1 2 3 4 5 6 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13 12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20 19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27 26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 30
咱们把 2020 年的日历打印出来了。
之后咱们看日历可使用这个函数看了。
要用大家用,反正我是不用,我选择使用这个:
除了直接返回整年的日历,calendar 还支持返回指定月份的日历:
print(calendar.month(2019, 11))
结果以下:
November 2019 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
咱们还能够直接得到某月的总天数:
print(calendar.monthlen(2019, 11))
结果以下:
30
这个功能好像有点鸡肋,咱们获取某月的天数难道不是都靠那句儿歌么?
一三五七八十腊,三十一天永不差
咱们还能够知道指定的日期对应的星期数:
print(calendar.weekday(2019, 11, 7))
结果以下:
3
这个我以为蛮实用的,不再用本身写算法去推算了。
本系列的全部代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便你们取用。
原文出处:https://www.cnblogs.com/babycomeon/p/11864163.html