Python中的time模块和calendar模块都是关于时间和日期处理的标准库模块。
time模块
time模块提供了处理时间和日期的功能,例如获取当前时间、睡眠等待、获取时间戳、时间格式化等功能。下面是time模块的一些常用方法:
获取当前时间
time模块中的time方法可以获取当前时间戳,返回值为自1970年1月1日以来的秒数。可以使用gmtime和localtime方法将时间戳转换为struct_time结构体,或者使用ctime方法将时间戳转换为可读的字符串。
import time
# 获取当前时间戳
now = time.time()
print(now)
# 将时间戳转换为struct_time结构体,并分别输出时间信息
now_struct_time = time.localtime(now)
print(now_struct_time.tm_year, now_struct_time.tm_mon, now_struct_time.tm_mday, now_struct_time.tm_hour, now_struct_time.tm_min, now_struct_time.tm_sec)
# 将时间戳转换为可读的字符串
now_str = time.ctime(now)
print(now_str)
以上代码的输出结果如下所示:
1625654703.6929247
2021 7 7 14 45 3
Wed Jul 7 14:45:03 2021
睡眠等待
time模块中的sleep方法可以让当前线程暂停执行指定的秒数。
import time
print('Before sleep')
time.sleep(3)
print('After sleep')
代码执行时,第一次输出后等待3秒后才会输出第二次,输出结果如下:
Before sleep
After sleep
综上,time模块提供了很多处理时间和日期相关的功能,使用起来也很方便。
calendar模块
calendar模块提供了一些处理日期的方法,例如获取某个月份的日历、工作日等等。下面是calendar模块的一些常用方法:
获取某个月份的日历
calendar模块中的month方法可以获取某年某月的日历。其中,第一个参数是年份,第二个参数是月份。
import calendar
# 获取2021年7月的日历
cal = calendar.month(2021, 7)
print(cal)
运行以上代码,会输出如下格式的日历:
July 2021
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 31
获取某个月份的工作日
calendar模块中的weekday方法可以获取某一天的星期几,返回值为从0-6的整数,0表示星期一,1表示星期二,以此类推。
下面代码使用weekday方法获取了2021年7月份每一天是星期几,然后通过判断是否为工作日来计算出该月份的总工作日数。
import calendar
# 获取2021年7月份的日历
cal = calendar.monthcalendar(2021, 7)
# 计算2021年7月份的工作日数
workdays = 0
for week in cal:
for day in week:
if day == 0:
continue
if calendar.weekday(2021, 7, day) < 5:
workdays += 1
print(workdays)
运行以上代码,会输出2021年7月份的工作日数,输出结果如下:
22
综上,calendar模块提供了一些很便利的方法来处理日期和工作日计算等问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中的time模块和calendar模块 - Python技术站