时间日历
下面对三个模块分别进行介绍
time模块:提供了处理时间和表示之间的转换的功能
- 获取当前时间戳:从0时区的1970年1月1日0时(如果按照北京时间的时候,应该是东八区,8时开始),到所给定日期时间的秒数,并且它是一个浮点数
- 为什么要用时间戳呢?因为有时候接受的函数是一个时间戳
- 获取方式:import time,time.time()
- 获取时间元组:很多Python时间函数讲时间处理为9个数字的元组
- 获取方式;import time,time.localtime(【seconds】)可以填入seconds,填入之后会自己转成对应的时间元组;如果不填seconds那就是默认的时间戳
import time
result = time.time()
print(time)
result = time.localtime()
print(result)
- 获取格式化的时间
- 秒转成可读时间:time.ctime(【seconds】) seconds是可选的秒数或者说是可选的时间戳
- 时间元组转换成可读时间,time.asctime(【p_tuple】)
import time
result = time.ctime()
print(result)
result = time.asctime()
print(result)
-
自定义格式化时间
- time.strftime(格式字符串,时间元组)
- 格式字符串:“%Y-%m-%d %H:%M:%S”,时间元组time.localtime()
result = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
print(result)
result = time.strftime('%y-%m-%d %H:%M:%S',time.localtime())
print(result)
-
格式化日期装换成字符串
- time.strptime(日期字符串,格式符字符串)
- 再将这个时间元组转成时间戳 time.mktime(p_tuple)
result = time.strptime('2022-09-21 17:11:17','%Y-%m-%d %H:%M:%S')
print(result)
t = time.mktime(result)
print(t)
- 获取当前CPU时间:用来统计程序代码的执行耗时
import time
start = time.perf_counter()#程序执行到这里的时候是什么
for i in range(1,1000000):
print(i)
end = time.perf_counter()
print(end-start)
- 休眠n秒:推迟线程的执行,可以简答的理解为让程序暂停
- time.sleep(secs)
while True:
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
time.sleep(1)
calendar模块:提供与日历相关的功能,比如:为给定的月份或者年份打印文本日历的功能
calendar.month(年,月)
import calendar
print(calendar.month(2017,6))
datetime模块:Python处理日期和时间的标准库
- 获取当天日期:import datetime,datetime.datetime.now或者datetime.datetime.today
- 单独获取当前的年月日时分秒
import datetime
t = datetime.datetime.now()
print(t)
print(datetime.datetime.today())
print(t.year)
print(t.month)
print(t.day)
- 计算n天之后的日期
- 获取两个日期时间的时间差
import datetime
t = datetime.datetime.today()
result = t + datetime.timedelta(days=7)
print(t)
print(result)
first = datetime.datetime(2022,7,20,12,00,00)
second = datetime.datetime(2022,9,21,12,00,00)
delta = second - first
print(delta)
print(delta.total_seconds())