• 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
  • 相关阅读:
    oarcle 提取数字函数
    通用XML操作类(微型本地xml数据库)
    linux内核模块Makefile的解析
    开源的许可证GPL、LGPL、BSD、Apache 2.0的通俗解释
    弹性布局
    CSS基础知识
    HTML5基本标签
    VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解
    .Silverlight Binding (One Time,One Way,Two Way)
    WCF Service中HttpContext.Current为null的解决办法
  • 原文地址:https://www.cnblogs.com/ethancui/p/5639139.html
Copyright © 2020-2023  润新知