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 列表(List)操作方法详解
Mar 11 Python
Python实现线程池代码分享
Jun 21 Python
Python开发的实用计算器完整实例
May 10 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
python 实现识别图片上的数字
Jul 30 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
python热力图实现简单方法
Jan 29 Python
基于PyInstaller各参数的含义说明
Mar 04 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的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
js格式化货币数据实现代码
2013/09/04 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
在Python中使用Neo4j的方法
2019/03/14 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
Python如何将函数值赋给变量
2020/04/28 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
中专毕业生自我鉴定
2013/11/21 职场文书
金融管理专业求职信
2014/07/10 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
React如何创建组件
2021/06/27 Javascript