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 内置字符串处理函数的使用方法
Jun 11 Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
python概率计算器实例分析
Mar 25 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
解决python "No module named pip" 的问题
Oct 13 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
Python timer定时器两种常用方法解析
Jan 20 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 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之require/include顺序 推荐
2011/01/02 PHP
php实现文件下载更能介绍
2012/11/23 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
php把数组值转换成键的方法
2015/07/13 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
php慢查询日志和错误日志使用详解
2021/02/27 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
js实现限定范围拖拽的示例
2020/10/26 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
原生JavaScript实现随机点名表
2021/01/14 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Python实现的爬虫功能代码
2017/06/24 Python
python学习入门细节知识点
2018/03/29 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
Python 使用office365邮箱的示例
2020/10/29 Python
国际商务系学生个人的自我评价
2013/11/26 职场文书
大学生活学习的自我评价
2013/12/03 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
教师个人事迹材料
2014/12/17 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
python开发飞机大战游戏
2021/07/15 Python