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中几个常用的类方法
Apr 08 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
python删除不需要的python文件方法
Apr 24 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
Python列表切片常用操作实例解析
Mar 10 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
python 爬取B站原视频的实例代码
Sep 09 Python
Python 带星号(* 或 **)的函数参数详解
Feb 23 Python
python前后端自定义分页器
Apr 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
使用php+xslt在windows平台上
2006/10/09 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
python else语句在循环中的运用详解
2020/07/06 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
python实现图片转字符画的完整代码
2021/02/21 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
2014年端午节演讲稿范文
2014/05/23 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
致运动员赞词
2015/07/22 职场文书
六年级作文之自救
2019/12/19 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python