python中time、datetime模块的使用


Posted in Python onDecember 14, 2020

1、前言

如果您从事过python web的开发,那一定有过这样的经历,对于各种复杂繁琐的业务逻辑,掺杂着各种各样的时间约束,让人很容易搞的头晕眼花,比如展示出一天内用户进行过的所有操作记录,再比如进行验证码验证时获取当前时间与验证码生成时间进行比较,检查是否超过10分钟过期时间之类。这些关于时间的业务逻辑,要求我们必须能熟练掌握python中关于时间的两个模块,time和datetime,只有用好了这两个模块,我们才能在代码中轻松自如的应对。

2、time模块

time模块中时间表现的格式主要有三种:

  • a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
  • b、struct_time时间元组,共有九个元素组。
  • c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。

1、时间格式转换图

python中time、datetime模块的使用

2、常用方法

import time

print(time.time()) # 当前时间戳
>>> 1569645479.6079931

print(int(time.time()))
>>> 1569645479

print(time.strftime('%Y-%m-%d %H:%M:%S')) # 格式化的时间
>>> 2019-09-28 12:37:59

print(time.strftime('%Y-%m-%d'))
>>> 2019-09-28

print(time.strftime('%H:%M:%S'))
>>> 12:37:59

print(time.gmtime()) # 获取标准时区的时间元组,如果传入了时间戳,就是把时间戳转换成时间元组
>>> time.struct_time(tm_year=2019, tm_mon=9, tm_mday=28, tm_hour=4, tm_min=37, tm_sec=59, tm_wday=5, tm_yday=271, tm_isdst=0)

print(time.gmtime(1569645453))
>>> time.struct_time(tm_year=2019, tm_mon=9, tm_mday=28, tm_hour=4, tm_min=37, tm_sec=33, tm_wday=5, tm_yday=271, tm_isdst=0)

# 使用时间戳获取代码执行时间
s_time = time.time()
for i in range(0,10):
 time.sleep(1)
e_time = time.time()
print('代码运行时间是:', e_time-s_time)
>>> 代码运行时间是: 10.003105163574219

# 字符串格式化时间转换时间戳
str_time = '2019-9-28'
print(time.mktime(time.strptime(str_time, '%Y-%m-%d')))
>>> 1569600000.0

# 时间戳转换成格式化的时间字符串
gsh_time = time.time()
print(time.strftime('%Y-%m-%d', time.localtime(gsh_time)))
>>> 2019-09-28

3、datetime模块

datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。

import datetime

now = datetime.datetime.now()
print(now)
>>> 2019-09-28 12:45:59.927901

now = datetime.datetime.now()
d1 = now - datetime.timedelta(hours=1) # 获取前一小时
d2 = now - datetime.timedelta(days=1) # 获取前一天
print(now)
>>> 2019-09-28 12:47:56.662933
print(d1)
>>> 2019-09-28 11:47:56.662933
print(d2)
>>> 2019-09-27 12:47:56.662933

# datetime对象转换成时间戳
dt = datetime.datetime.now()
print(time.mktime(dt.timetuple()))
>>> 1569646475.0

# 时间戳转换成datetime对象
sjc_time = time.time()
print(datetime.datetime.fromtimestamp(sjc_time))
>>> 2019-09-28 12:55:05.500752

以上就是python中time、datetime模块的使用的详细内容,更多关于python time、datetime模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python文件操作类操作实例详解
Jul 11 Python
处理Python中的URLError异常的方法
Apr 30 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
python远程连接服务器MySQL数据库
Jul 02 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
python实现nao机器人手臂动作控制
Apr 29 Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
python使用turtle库绘制奥运五环
Feb 24 Python
windows上彻底删除jupyter notebook的实现
Apr 13 Python
python opencv肤色检测的实现示例
Dec 21 Python
python装饰器代码深入讲解
Mar 01 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 #Python
python读写数据读写csv文件(pandas用法)
Dec 14 #Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 #Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 #Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 #Python
Python实现Kerberos用户的增删改查操作
Dec 14 #Python
python-地图可视化组件folium的操作
Dec 14 #Python
You might like
多php服务器实现多session并发运行
2006/10/09 PHP
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
JavaScript中的this机制
2016/01/30 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
python贪吃蛇游戏代码
2020/04/18 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
一名毕业生的自我鉴定
2013/12/04 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
四群教育工作总结
2015/08/10 职场文书
禁毒主题班会教案
2015/08/14 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
Redis如何一键部署脚本
2021/04/12 Redis
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python