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根据路径导入模块的方法
Sep 30 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
Apr 01 Python
opencv转换颜色空间更改图片背景
Aug 20 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
.dcm格式文件软件读取及python处理详解
Jan 16 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
python画环形图的方法
Mar 25 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
使用PyCharm安装pytest及requests的问题
Jul 31 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出错界面
2006/10/09 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
php验证码实现代码(3种)
2015/09/07 PHP
php session的应用详细介绍
2017/03/22 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
网页常用特效代码整理
2006/06/23 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
python实现日常记账本小程序
2018/03/10 Python
利用python循环创建多个文件的方法
2018/10/25 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Django models文件模型变更错误解决
2020/05/11 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
致800米运动员广播稿
2014/02/16 职场文书
写自荐信的注意事项
2014/03/09 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python