1.datetime
从datetime中导入date, time, datetime, timedelta
1.1date
指定日期构造:date(year=, month=, day=)
获取今天的日期:date.today()
格式化日期:%y 两位年 %Y 四位年 %m 两位月 %d 两位日
from datetime import date, time, datetime, timedelta
# 使用数字构造日期
date1 = date(year=2008, month=8, day=18)
# 打印输入的年月
print(date1.year, date1.month, date1.day)
# 格式化日期 %y 两位年 %Y 四位年 %m 两位月 %d 两位日
print(date1.strftime("%Y-%m-%d"))
# 获取今天的日期
date2 = date.today()
print(date2.year, date2.month, date2.day)
print(date2.strftime("%y-%m-%d"))
执行结果:
1.2 time
构造时间:time(hour=, minute=, second=)
格式化时间:%H 两位小时 %M 两位分钟 %S 两位秒
# 构造时间
time1 = time(hour=23, minute=15, second=23)
print(time1.hour, time1.minute, time1.second)
# 格式化时间 %H 两位小时 %M 两位分钟 %S 两位秒
print(time1.strftime("%H:%M:%S"))
执行结果:
1.3 datetime
构造日期时间:datetime(year=, month=, day=, hour=, minute=, second=)
获取今天的日期时间:datetime.now()
# 构造日期时间
datetime1 = datetime(year=2008, month=8, day=18, hour=23, minute=11, second=34)
# 打印日期时间
print(datetime1.year, datetime1.month, datetime1.day, datetime1.hour, datetime1.minute, datetime1.second)
# 格式化
print(datetime1.strftime("%Y-%m-%d %H:%M:%S"))
# 获取现在的时间
datetime2 = datetime.now()
print(datetime2.year, datetime2.month, datetime2.day, datetime2.hour, datetime2.minute, datetime2.second)
print(datetime2.strftime("%Y-%m-%d %H:%M:%S"))
执行结果:
1.4 timedelta
timedelta是时间增量,可以在当前时间的基础上,增加时间增量,打印出增加后的时间。
设置时间增量:
# 时间增量 timedelta
# 获取现在的时间
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
# 设置时间增量
timedelta0 = timedelta(weeks=3, days=3, hours=3, seconds=45)
print(timedelta0.days, timedelta.seconds)
# 设置一个时间增量,加到现在的时间上
future = now + timedelta(weeks=2, days=3, hours=2, seconds=23)
print(future.strftime("%Y-%m-%d %H:%M:%S"))
执行结果:
2.time
time模块模块是 Python 中用于处理时间的标准模块,是python内置模块。
有几种常用的方法:延时time.sleep()、获取当前时间戳time.time()、将时间结构体化time.localtime()。
案例:
import time
# time.sleep() 休眠
print("哈哈哈")
time.sleep(2)
print("嘿嘿嘿")
time.sleep(2)
print("嘻嘻嘻")
time.sleep(2)
# time.time() 获取当前时间戳
# 其整数部分是从1970-1-1 0时到现在的秒数
print(time.time())
time.sleep(2)
print(time.time())
time.sleep(2)
# 将时间结构体化
# time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
执行结果:
3.calendar
calendar模块是 Python 中用于处理日历的标准模块
可以打印月历、年历、周以及判断是否为闰年
案例:
import calendar
# 年历
print(calendar.calendar(2024))
# 月历
print(calendar.month(2024, 1))
# 周
print(calendar.weekday(2024, 1, 11))
# 闰年
print(calendar.isleap(2000))
执行结果:
小结
python中的time模块与datetime是不一样的,两者都可以处理时间,前者是内置模块,可以获取时间戳、格式化时间和延时等,后者可以对时间进行更为高级的操作,如创建日期对象、格式化、运算(时间增量)等。