博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python学习笔记(六)time、datetime、hashlib模块
阅读量:4349 次
发布时间:2019-06-07

本文共 1727 字,大约阅读时间需要 5 分钟。

一、hashlib模块

python中的hashlib模块用来进行hash或者md5加密,而且这种加密是不可逆的,所以这种算法又被称为摘要算法。在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法。

摘要算法通常应用于网站存储用户的帐号密码相关信息。默认情况下,我们插入到数据库的帐号密码都是以明文保存。这样的话,一旦数据库泄露,所有用户的口令都会直接泄露,而且明文保存,网站管理员也可以直接查看到用户口令,这样及不安全。所以我们可以在获取到用户输入的密码以后,直接对其进行加密处理。然后将加密的字符串存入数据库。这样当下次用户登录时,再对用户输入的密码进行加密处理,然后与数据库中存储的加密字串进行比对,如果匹配,则说明密码正确。

定义一个加密函数,当需要加密的时候可直接调用该函数

二、时间模块

python中时间表示方法有三种:时间戳,是指从unix元年到现在过了多少秒;格式化后的时间字符串;时间元组struct_time。

struct_time元组中元素主要包括tm_year(年)、tm_mon(月)、tm_mday(日)、tm_hour(时)、tm_min(分)、tm_sec(秒)、tm_wday(weekday0 - 6(0表示周日))、tm_yday(一年中的第几天1 - 366)、tm_isdst(是否是夏令时)。

1.time.time()

获取当前时间戳

2.time.strftime('%Y-%m-%d %H:%M:%S')

格式化输出时间字符串

3.time.localtime()

获取当地时区的时间,返回结果是时间元组,也可以将时间戳转成时间元组输出

将当地时间(时间元组)以格式化时间输出

 

4.time.gmtime()

默认取的是标准时区的时间,返回结果是时间元组

5.time.strptime(str,format)

将时间字符串转成时间元组

6.time.mktime(tuple_time)

将时间元组转成时间戳

我们可以定义一个函数:1.默认返回格式化好的时间;2.传入时间戳的话,把时间戳转换成格式化好的时间,返回

def timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'):    if timestamp:   #若传入的时间戳不为空        time_tuple = time.localtime(timestamp)  #将时间戳转成时间元组        res = time.strftime(format,time_tuple)  #再将时间元组转成格式化时间字符串    else:        res = time.strftime(format)  #默认取当前时间    return res

再定义一个函数,将格式化时间字符串转成时间戳

def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):    if str: #如果传了格式化时间字符串的话        tp = time.strptime(str,format) #格式化好的时间,转成时间元组        res = time.mktime(tp)#将时间元组再转成时间戳    else:        res = time.time()  #默认取当前的时间戳    return int(res)

 

7.datetime.datetime.today()

获取当前时间,精确到秒

8.datetime.date.today()

获取当前时间,精确到天

9.datetime.tatetime.today()+datetime.timedelta(day=-5,day=1,minutes=5,seconds=5,weeks=5)

5天以前,1天以后,5分钟以后,5秒以后,5周以后

 

转载于:https://www.cnblogs.com/mululu/p/8933097.html

你可能感兴趣的文章
大数据 : Hadoop reduce阶段
查看>>
char*,const char*和string 三者转换
查看>>
[C/C++] VC2012编译的程序在WinXP下报告“指定的可执行文件不是有效的 Win32 应用程序”错误...
查看>>
Selenium通过监听事件实现自动截图
查看>>
Web开发中8个基础&&常见功能
查看>>
android 自定义控件 (二) 初步认识
查看>>
Android-Context
查看>>
Arts·St 挑战二周目
查看>>
Recycle团队项目第二次冲刺
查看>>
Junit 单元测试基本使用方法
查看>>
html5中 table数据导出到excel文件
查看>>
springboot 集成swagger ui
查看>>
袋鼠云日志,日志分析没那么容易
查看>>
缓存穿透 缓存雪崩 缓存并发
查看>>
MySQL表的操作
查看>>
pt-table-checksum解读【转】
查看>>
matlab中类的定义和使用
查看>>
NIO(2):Channel
查看>>
Consistent Hashing算法
查看>>
C++基础--完善Socket C/S ,实现客户端,服务器端断开重连
查看>>