Python标准库——time模块和calendar模块

一、时间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)。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨小古

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值