一、time,datetime模块
时间相关的操作
1 import time 2 time.sleep(5) # ==> 停顿多少秒 3 print(time.time()) # ==> 返回时间戳,1970年1月1日之后的秒,seconds 4 print(time.ctime()) # ==> 返回字符串形式当前时区的当前时间 5 print(time.ctime(time.time()-86400)) # ==>时间换算,当前系统时间提前一天 6 print(time.gmtime(time.time())) # ==> 将当前UTC时区(0时区) 时间以struct_time格式显示, 7 obj = time.gmtime(time.time()) 8 print(obj.tm_year) # ==> 可将struct_time 格式时间 分别获取其tm_year ,tm_mon等值 9 print(time.gmtime()) # ==> 如果不填seconds参数,默认就是time.time() 10 print(time.localtime()) # ==> 将当前时区时间以struct_time格式显示,如果传参数,都是以second为单位 11 print(time.mktime(time.localtime())) # ==> 与time.localtime()功能相反,是将struct_time格式转为时间戳格式(seconds) 12 print(time.strftime('%Y-%m-%d',time.localtime())) # ==> 将struct_time格式化成指定字符串形式,传入参数①为格式,②为时间对象,struct——time格式 13 print(time.strptime('2016-7-3 22:52','%Y-%m-%d %H:%M')) # ==> 将字符串格式转换成struct_time格式 14 15 import datetime 16 print(datetime.date.today()) # ==> 当前日期 17 print(datetime.date.fromtimestamp(86400)) # ==> 将时间戳转换成日期格式 18 current = datetime.datetime.now() # 当前时间 19 print(current) # ==> 打印当前时间 字符串格式 20 print(current.timetuple()) # ==> 返回struct_time格式 21 print(current.replace(year=1988,month=11,day=27,hour=22)) # ==>返回当前时间,但是指定的值会被替换 22 print(current.replace(1988,5,11)) 23 24 print(datetime.datetime.strptime('2016/07/03','%Y/%m/%d')) # ==> 将字符串转换为日期格式 25 # 时间加减 26 print(datetime.datetime.now() + datetime.timedelta(days=10)) 27 # 可用 '-'号, days= -10 也ok 28 # 参数 days seconds weeks minutes hours microseconds milliseconds
二、hashlib模块
用于加密相关的操作,代替了md5模块和sha模块,主要提供md5(),sha1(),sha224(),sha256(),sha384(),sha512()算法
主要方法有.update(arg); digest(); hexdigest(); copy()
1 import hashlib 2 3 obj = hashlib.md5() 4 obj.update(bytes('What a fucking day',encoding='utf-8')) # ==> obj.update(b'What a fucking day') 5 print(obj.digest()) 6 print(obj.hexdigest()) # 十六进制形式显示 7 8 # 结果: 9 b'2x1dx86xc6x17xb5xa2]x81x02ECxc4xf5xb2T' 10 321d86c617b5a25d81024543c4f5b254 11 # 以上算法虽然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。 12 import hashlib 13 m = hashlib.md5(b'cbcllsn478') 14 m.update(b'What a fucking day') 15 print(m.digest()) 16 print(m.hexdigest()) 17 #结果 18 b'[xd5Exdfxb8NCSx9f9yx13xf9xcex17xfb' 19 5bd545dfb84e43539f397913f9ce17fb