python标准模块(time、datetime及hashlib模块)

时间:2024-10-20 20:35:50

一、time,datetime模块

时间相关的操作

 import time
time.sleep(5) # ==> 停顿多少秒
print(time.time()) # ==> 返回时间戳,1970年1月1日之后的秒,seconds
print(time.ctime()) # ==> 返回字符串形式当前时区的当前时间
print(time.ctime(time.time()-86400)) # ==>时间换算,当前系统时间提前一天
print(time.gmtime(time.time())) # ==> 将当前UTC时区(0时区) 时间以struct_time格式显示,
obj = time.gmtime(time.time())
print(obj.tm_year) # ==> 可将struct_time 格式时间 分别获取其tm_year ,tm_mon等值
print(time.gmtime()) # ==> 如果不填seconds参数,默认就是time.time()
print(time.localtime()) # ==> 将当前时区时间以struct_time格式显示,如果传参数,都是以second为单位
print(time.mktime(time.localtime())) # ==> 与time.localtime()功能相反,是将struct_time格式转为时间戳格式(seconds)
print(time.strftime('%Y-%m-%d',time.localtime())) # ==> 将struct_time格式化成指定字符串形式,传入参数①为格式,②为时间对象,struct——time格式
print(time.strptime('2016-7-3 22:52','%Y-%m-%d %H:%M')) # ==> 将字符串格式转换成struct_time格式 import datetime
print(datetime.date.today()) # ==> 当前日期
print(datetime.date.fromtimestamp(86400)) # ==> 将时间戳转换成日期格式
current = datetime.datetime.now() # 当前时间
print(current) # ==> 打印当前时间 字符串格式
print(current.timetuple()) # ==> 返回struct_time格式
print(current.replace(year=1988,month=11,day=27,hour=22)) # ==>返回当前时间,但是指定的值会被替换
print(current.replace(1988,5,11)) print(datetime.datetime.strptime('2016/07/03','%Y/%m/%d')) # ==> 将字符串转换为日期格式
# 时间加减
print(datetime.datetime.now() + datetime.timedelta(days=10))
# 可用 '-'号, days= -10 也ok
# 参数 days seconds weeks minutes hours microseconds milliseconds

二、hashlib模块

用于加密相关的操作,代替了md5模块和sha模块,主要提供md5(),sha1(),sha224(),sha256(),sha384(),sha512()算法

主要方法有.update(arg); digest(); hexdigest(); copy()

 import hashlib

 obj = hashlib.md5()
obj.update(bytes('What a fucking day',encoding='utf-8')) # ==> obj.update(b'What a fucking day')
print(obj.digest())
print(obj.hexdigest()) # 十六进制形式显示 # 结果:
b'2\x1d\x86\xc6\x17\xb5\xa2]\x81\x02EC\xc4\xf5\xb2T'
321d86c617b5a25d81024543c4f5b254
# 以上算法虽然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
import hashlib
m = hashlib.md5(b'cbcllsn478')
m.update(b'What a fucking day')
print(m.digest())
print(m.hexdigest())
#结果
b'[\xd5E\xdf\xb8NCS\x9f9y\x13\xf9\xce\x17\xfb'
5bd545dfb84e43539f397913f9ce17fb