目录
1. datetime
python中的用于输出跟时间相关的模块叫 datetime,从 datetime 中可以导入 date 、time 、datetime 、timedelta 等模块成员。
使用哪个就导入哪个,方法如下:
from datetime import date, timedelta, time, datetime
1.1 date
date 的中文释意就是 日期,成员 date 可以输出年数、月数、天数等。
date 下又有一个函数 today( ),是用于获取当天的年份、月份、天数等的。
今天是 2024年 1 月 10 日,周 3,看如下代码:
from datetime import date d = date.today() # 获取今日日期 print(d) # 输出今日日期 print(type(d)) # 输出 d 的类型 print(d.year) # 输出年份 print(d.month) # 输出月份 print(d.day) # 输出天数 print(d.weekday() + 1) # 输出星期几 print(d.strftime("%Y / %m / %d"))
通过运行结果可以发现 date.today() 的类型不再是五中常见的数据类型,而且输出的星期几是当前日期的前一天,因此要加上一。
并且日期的输出也有另外一种方法,就是代码的最后一行,其中用到了函数 strftime( ),使用要求是加上 % ,Y 代表四位的年份,y 代表两位的年份(2024年输出 24),m 代表月份,d 代表天。
此外,日期还可以自定义,如:
d2 = date(2002, 9, 8)
其中按顺序来,分别代表 年、月、日 ,即 2002 年 9 月 28 日。
输出需要的年或月等和前面代码所用的方法相同。
1.2 time
time 就是时间,一般就是输出时、分、秒,但子模块 time 中可以输出微秒。
和 date 和 time 的区别就是能输出的时间不同,而且time中不能输出当前的时间。
因此想要输出时间,只能自定义:
# 导入模块 from datetime import time # 定义时间 (时,分,秒) d1 = time(11, 11, 11) # 两种输出方式 print(d1.hour, d1.minute, d1.second) print(d1.strftime("%H:%M:%S"))
其实定义方法和输出方法和 date 是相似的,可以对比一下。
1.3 datetime
datetime 可以说就是 date 和 time 的结合,能输出的时间也就是二者的所有。它是可以输出当前的时间的,用到了函数 now( )。
剩下的直接看代码,很简单。
from datetime import datetime # 从左到右分别位 年、月、日、时、分、秒 d = datetime(2024, 1, 10, 12, 11, 22) print(d.year) print(d.month) print(d.day) print(d.hour) print(d.minute) print(d.second) # 输出当前的时间 print(datetime.now())
最后输出的当前时间是带有毫秒的。
1.4 timedelta
timedelta 的意思就是时间增量。定义如下变量:
time_increment = timedelta(days=3, weeks=2, hours=3, minutes=4, seconds=5)
就是定义了一个时间变量,可以用一个时间加上它,得到的结果就是原来的时间加上现在的时间。这样讲比较抽象,直接看代码吧。
future = now + timedelta(days=2, hours=3) # 输出现在的时间加上2天3小时 print(future) ever = now - timedelta(days=2, hours=3) # 减就是减去相应的天数和小时数 ever2 = now - timedelta(2, 3) print(ever) print(ever2)
这是很简单的,但是有一点需要注意,ever 和 ever2 的定义方式是不同的,ever2 中的timedelta(2, 3) ,2 代表的是天数,3代表的则是秒数。
如果你使用的是pycharm 的专业版,则会有提示:
2. time
time 是一个模块,使用时需要导入,time 中有一个比较常用的方法就是 sleep,它可以使程序按秒暂停。
如果你运行一下以下代码,就会发现每隔一秒就会输出一次当前的时间:
import time # 导入模块
print(time.time())
time.sleep(1)
print(time.time())
time.sleep(1)
print(time.time())
time.sleep(1)
print(time.time())
只有运行感受才最深,不再粘截图。sleep 常用于爬虫中,防止被服务器识别你是爬虫而拉黑你的IP。代码中用到了 time 模块中的 time 方法,就是用于输出当前时间。
3. calendar
calendar 也是一个模块,同样需要导入。calendar 模块下也有很多方法,有兴趣可自行尝试:
这里仅介绍一个用于判断闰年的方法,如果你手写过代码来判断一个年份是否是闰年,就会觉得这个比较有趣,因为只需要几行代码,🆗,直接上代码。
import calendar
a = 2000
# 判断一个数是不是闰年
print(calendar.isleap(a))
2000 年是闰年,所以结果会返回 True 哦。
over😎,如果觉得我写的可以,可以点个关注,鼓励一下作者哦❤❤❤