zoukankan      html  css  js  c++  java
  • python标准模块(time、datetime及hashlib模块)

    一、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
  • 相关阅读:
    树状数组
    POJ 1178 -- 国王和骑士
    read
    优先队列
    统计八连块
    1579、Function Run Fun(记忆化搜索)
    5488: 石子归并II (区间DP+环形DP+四边形不等式优化)
    4797: 能量项链(区间DP,环形DP)
    5936 桃子的矩阵快速幂
    Happy Necklace(找规律+矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/ethancui/p/5639139.html
Copyright © 2011-2022 走看看