1、python处理时间常用的模块time和datetime、calendar模块
1)time
时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
时间元组:即用一个元组装起来的9组数字表示时间
t = (2018,6,24,16,56,45,0,0,0) #(年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令时<1(夏令时)、0(不是夏令时)、-1(未知),默认 -1>)
#1、时间三种表示方式:
print('当前时间的时间戳:',time.time())
print("获取当前时间的时间元组",time.localtime())
print("英文表示时间:",time.asctime())
# 获取元组的部分信息
print('获取元组的部分信息:',time.localtime().tm_year,
time.localtime().tm_mon,
time.localtime().tm_mday,
time.localtime().tm_wday)
2、三种表示方式相互转换
# 1、元组转化为时间戳
print('元组转化为时间戳',time.mktime((2020,5,17,20,19,40,6,138,0)))
print(time.mktime(time.localtime()))
# 2、时间戳转化为时间元组
print('时间戳转化为时间元组:',time.localtime(1589718234))
print(time.localtime(time.time()))
3、元组转化为时间格式字符串
time.strftime('时间格式样式',时间元组)
print('当前时间元组转时间格式字符串',time.strftime('%Y_%m_%d %H:%M:%S',time.localtime()))
4、时间格式字符串转化为时间元组
time.strptime(时间字符串,时间格式样式)
print('时间格式字符串转化为时间元组:',time.strptime('2020_05_17 20:34:42','%Y_%m_%d %H:%M:%S'))
2)datetime模块
1)#以时间元组创建日期时间
print(datetime.datetime(2020,5,17,12,13,19))
# 获取当前日期时间
print('获取当前日期时间:',datetime.datetime.now())
print('获取当前日期时间:',datetime.datetime.today())
2)时间表示形式相互转换
1)日期时间转化为时间戳
print('日期时间转化为时间戳:',datetime.datetime.now().timestamp())
2)时间戳转化为日期时间
print('时间戳转化为日期时间:',datetime.datetime.fromtimestamp(1589719888))
3)时间格式字符串与时间日期的相互转换
print('转换为时间字符串',datetime.datetime.strftime(datetime.datetime.now(),'%Y_%m_%d %H:%M:%S'))
print('时间字符串转化为时间',datetime.datetime.strptime('2020_05_17 20:51:28','%Y_%m_%d %H:%M:%S'))
3)calendar日历模块
import calendar
print("打印年历",calendar.calendar(2020))
print('打印月历',calendar.month(2020,5))
print('是否为闰年',calendar.isleap(2020))
# 获取指定日期是星期几
print(calendar.weekday(2020,5,16))
print(time.localtime().tm_wday,datetime.datetime.now().weekday())
2、错误异常处理
1)捕获异常语法结构:
try:
执行代码块1
except:
出现异常执行代码2
2)常见错误类型:
# IndentationError 缩进错误
# ValueError 值错误
try:
执行代码块1
except 错误类型 as 变量:
出现异常执行代码2
try:
num1=int(input('请输入数字:'))
print(num1+10)
except ValueError as error1:
print(f'值类型错误:{error1}')
except:
print('非值类型错误!')
3)try
执行代码块1
except
代码块1异常执行代码
else
代码块1无异常执行代码
案例:
try:
num1=int(input('请输入数字:'))
print(num1+10)
except ValueError as error1:
print(f'值类型错误:{error1}')
except Exception as error2:
print(f'非值类型错误!,错误信息{error2}')
else:
print('输入的格式为数字')
4)try
执行代码块1
except
代码块1异常执行代码
else
代码块1无异常执行代码
finally:
不论是否异常都会执行代码块
案例:
try:
num1=int(input('请输入数字:'))
print(num1+10)
except ValueError as error1:
print(f'值类型错误:{error1}')
except Exception as error2:
print(f'非值类型错误!,错误信息{error2}')
else:
print('输入的格式为数字')
finally:
print('格式检验完成')