一、时间time模块
time是和时间信息有关的模块,使用时间模块时,需要导入这一模块:
import time
1.time( ),此方法可以回传自1970年1月1日00:00AM至今的秒数。可以利用时间差来计算某段时间。
# 计算自1970年1月1日00:00AM至今的秒数。
import time
print("计算自1970年1月1日00:00AM至今的秒数 = ", int(time.time()))
来玩一个小游戏——猜数字:首先利用randint()方法产生一个1~10的数字,如果猜的值太小会要求猜大一些,猜的数值太小的话会要求猜小一些,并计算花多少时间猜对数字。
# 猜数字游戏,这个程序首先会用randint()方法产生一个1~10的数字,如果猜的值太小会要求猜大一些,猜的数值太小的话会要求猜小一些,
# 并计算花多少时间猜对数字
import random
import time
min, max = 1, 10
ans = random.randint(min, max)
starttime = int(time.time()) # 起始秒数
while True:
yournum = int(input("猜猜1~10中的数字: "))
if yournum == ans:
print("恭喜你答对了!")
endtime = int(time.time()) # 结束秒数
if endtime - starttime <= 5:
print("太棒了!您仅用时: ", endtime - starttime, "秒")
else:
print("所花时间: ", endtime - starttime, "秒")
break
elif yournum < ans:
print("请猜大一些!")
else:
print("请猜小一些!")
2.sleep( ),此方法可以让工作暂停,这个方法的参数单位是秒。这个方法对于设计动画非常有趣
每秒打印一次列表的内容。
# 每秒打印一次列表的内容
import time
fruits = ['Apple', 'Banana', 'Watermelon', 'Peach', 'Passionfruit']
for fruit in fruits:
print(fruit)
time.sleep(1) # 暂停1秒
3.asctime( ),此方法可以以可阅读的方式列出目前系统时间。
# 列出目前系统时间
import time
print(time.asctime())
4.localtime( ),此方法可以返回日期与时间的元组(tuple)结构数据,所返回的结构可以用索引方式获得个别内容。
使用localtime()方法列出目前时间的结构数据,同时使用索引列出个别内容,第7行则是用对象名称显示公元年份。
# 使用localtime()方法列出目前时间的结构数据,同时使用索引列出个别内容,第7行则是用对象名称显示公元年份。
import time
tm = time.localtime()
print(tm)
print("年: ", tm[0])
print("月: ", tm[1])
print("日: ", tm[2])
print("时: ", tm[3])
print("分: ", tm[4])
print("秒: ", tm[5])
print("星期几: ", tm[6])
print("第几天: ", tm[7]) # 一年中的第几天
print("夏令时间: ", tm[8])
夏令时间的值为0代表不是,1代表是。 上面是利用索引,也可以直接利用对应属性名称:
(UTC:协调世界时,又称世界统一时间,世界标准时间,国际协调时间)
# 使用localtime()方法列出目前时间的结构数据,同时使用索引列出个别内容,第7行则是用对象名称显示公元年份。
import time
tm = time.localtime()
print(tm)
print("年: ", tm.tm_year)
print("月: ", tm.tm_mon)
print("日: ", tm.tm_mday)
print("时: ", tm.tm_hour)
print("分: ", tm.tm_min)
print("秒: ", tm.tm_sec)
print("星期几: ", tm.tm_wday)
print("第几天: ", tm.tm_yday) # 一年中的第几天
print("夏令时间: ", tm.tm_isdst)
print(tm.tm_gmtoff) # 用于表示时间超出UTC以东的秒数
print(tm.tm_zone)
5.ctime( ),此方法与localtime( )相同,不过回传的是字符串,格式为:
星期 月份 日期 时:分:秒 公元年
回传的字符串是用英文表达,星期与月份是英文缩写。
以字符串显示日期与时间。
import time
print(time.ctime())
6.process_time( ),此方法可取得程序执行的时间,第一次调用时是回传程序开始执行到执行process_time()历经的时间,之后的调用则是与前一次调用此方法间隔的时间。process_time()的时间计算会排除CPU没有运作的时间,例如在等待使用者输入的时间就不会被计算。
计算圆周率,列出所需时间,须注意的是,每台计算机所需时间不同。
# 计算圆周率,列出所需时间,须注意的是,每台计算机所需时间不同。
import time
x = 1000000
pi = 0
time.process_time()
for i in range(1, x + 1):
pi += 4 * ((-1) ** (i + 1) / (2 * i - 1))
if i != 1 and i % 100000 == 0: # 间隔100000执行一次
e_time = time.process_time()
print(f"当{i=:7d}时PI={pi:8.7f},所花时间={e_time}")
二、 日期calendar模块
日期模块有一些日历数据,很方便使用,使用日期模块时,需要先导入这一模块:
import calendar
1.isleap()列出某年是否为闰年,如果是闰年,回传True,否则回传False.
# 分别列出2020年和2022年是否是闰年
import calendar
print("2020年是否是闰年", calendar.isleap(2020))
print("2022年是否是闰年", calendar.isleap(2022))
2.mouth()列出月历,这个方法完整的参数是mouth(year,nouth),可以列出指定年份、月份的月历.
# 列出2022年5月的月历。
import calendar
print(calendar.month(2022, 5))
3.calendar()列出年历,这个方法完整的参数是calendar(year),可以列出指定年份的年历.
# 列出2022年的年历
import calendar
print(calendar.calendar(2022))
4.列出2000—2022年有几个闰年:
5.列出2019年12月的月历:
6.列出某年某月1日是星期几,以及该月天数:
执行结果说明2019年12月有31天,12月1日是星期日(星期一的返回值是0)。