目录
一、datetime
首先要导入该模块
from datetime import date, time, datetime, timedelta
1、date
- 获取今天的日期,可以看到其类型是datetime中的date类型
# 获取今天的日期
date0 = date.today()
print(date0)
# 使用数字构造日期
date0 = date(year=2023, month=5, day=11)
print(date0)
print(type(date0))
# 取得日期中每一部分
print(date0.year, date0.month, date0.day)
- 格式化字符串
date0 = date.today()
# %y 两位年 %m 两位月 %d 两位日 %Y 四位年
print(date0.strftime("%y/%m/%d"))
print(date0.strftime("%Y/%m/%d"))
2、time
# 可以指定时间
time0 = time(hour=17, minute=15, second=30)
# 获取时间类型
print(type(time0))
# 分别打印 时 分 秒
print(time0.hour, time0.minute, time0.second)
# 格式化为17:15:30形式
print(time0.strftime("%H:%M:%S"))
3、datetime
# 指定 年 月 日 时 分 秒
datetime0 = datetime(year=2001, month=5, day=25, hour=5, minute=29, second=11)
# 获取datetime0类型
print(type(datetime0))
# 分别打印年 月 日 时 分 秒
print(datetime0.year, datetime0.month, datetime0.day, datetime0.hour, datetime0.minute, datetime0.second)
# 格式化
print(datetime0.strftime("%Y-%m-%d %H:%M:%S"))
# 获取现在时间
datetime0 = datetime.now()
4、timedelta
# 现在时间
now = datetime.now()
# 格式化
print(now.strftime("%Y/%m/%d %H:%M:%S"))
# 时间增量
timedelta0 = timedelta(seconds=(14*24*60*60+30))
print(timedelta0.days, timedelta0.seconds)
# 比现在多两周
future = now + timedelta(weeks=2)
print(type(future))
print(future, future.strftime("%Y/%m/%d %H:%M:%S"))
# 比现在少一天零30分钟
ago = now - timedelta(days=1, minutes= 50)
print(ago, ago.strftime("%Y/%m/%d %H:%M:%S"))
二、time
time为Python内置时间模块
导入语句如下:
import time
- 程序阻塞,休眠、等待一定秒数
print(time)
print(1)
# 暂停5秒
time.sleep(5)
print(2)
time.sleep(5)
print(3)
- 获取当前时间戳,自1970-1-1开始
# time.time整数部分是1970-1-1 0时到现在的秒数
print(time.time())
time.sleep(5)
print(time.time())
- 获取本地时间结构体
print(time.strftime("%Y/%m/%d %H:%M:%S", (1999, 9, 9, 9, 9, 9, 0, 0, 0,)))
print(time.ctime())
# 获取时间结构体
print(time.localtime())
- 将时间格式化
print(time.strftime("%Y/%m/%d %H:%M:%S", time.localtime()))
三、calendar
导入语句如下:
import calendar
- 获取年历:写入年数
# 年历
print(calendar.calendar(2024))
- 获取月历:写入是某年的几月
# 月历
print(calendar.month(2024, 1))
- 获取某日是周几:写入某年某月的第几天
# 周几
print(calendar.weekday(2024, 1, 11))
显示为3,因为从0到6
- 查看是否是闰年:写入年数
# 是否是闰年
print(calendar.isleap(2024))
print(calendar.isleap(2021))
print(calendar.isleap(2000))
print(calendar.isleap(1985))