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 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
Python中return语句用法实例分析
Aug 04 Python
Python编写一个闹钟功能
Jul 11 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
python使用递归的方式建立二叉树
Jul 03 Python
python数据归一化及三种方法详解
Aug 06 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
使用TensorFlow对图像进行随机旋转的实现示例
Jan 20 Python
如何实现更换Jupyter Notebook内核Python版本
May 18 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
jupyter notebook快速入门及使用详解
Nov 13 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
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
PHP 文件上传限制问题
2019/09/01 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
javascript 对象比较实现代码
2009/04/27 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
EM算法的python实现的方法步骤
2018/01/02 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
建筑专业毕业生推荐信
2013/11/21 职场文书
医院实习接收函
2014/01/12 职场文书
环保倡议书400字
2014/05/15 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书