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 参数列表中的self 显式不等于冗余
Dec 01 Python
paramiko模块安装和使用(远程登录服务器)
Jan 27 Python
Python实现八大排序算法
Aug 13 Python
Python random模块用法解析及简单示例
Dec 18 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
python pip源配置,pip配置文件存放位置的方法
Jul 12 Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
python opencv 实现对图像边缘扩充
Jan 19 Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 Python
python 批量将中文名转换为拼音
Feb 07 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下删除字符串中HTML标签的函数
2008/08/27 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
php生成html文件方法总结
2014/12/01 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
php中错误处理操作实例分析
2019/08/23 PHP
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
2020/07/22 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
Python中的pprint折腾记
2015/01/21 Python
Python中的异常处理简明介绍
2015/04/13 Python
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
过滤器的用法
2013/10/08 面试题
企划主管岗位职责
2013/12/12 职场文书
医院辞职信范文
2014/01/17 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
小学生通知书评语
2014/12/31 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
CSS 鼠标选中文字后改变背景色的实现代码
2023/05/21 HTML / CSS