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每次处理固定个数的字符的方法总结
Jan 29 Python
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
Python使用matplotlib绘制动画的方法
May 20 Python
Python实现求最大公约数及判断素数的方法
May 26 Python
Python实现列表转换成字典数据结构的方法
Mar 11 Python
python实现彩色图转换成灰度图
Jan 15 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
Python检测端口IP字符串是否合法
Jun 05 Python
Django vue前后端分离整合过程解析
Nov 20 Python
python中@contextmanager实例用法
Feb 07 Python
Pytorch 统计模型参数量的操作 param.numel()
May 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中调用ASP.NET的WebService的代码
2011/04/22 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
phpinfo的知识点总结
2019/10/10 PHP
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
Python实现批量读取word中表格信息的方法
2015/07/30 Python
10个顶级Python实用库推荐
2021/03/04 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
税务会计岗位职责
2014/02/18 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
咖啡店创业计划书
2014/08/15 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
大学生军训感言
2015/08/01 职场文书
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS