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实现从url中提取域名的几种方法
Sep 26 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
May 20 Python
Python操作串口的方法
Jun 17 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
Aug 17 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
Django实现celery定时任务过程解析
Apr 21 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
python爬虫容易学吗
Jun 02 Python
Python学习之os模块及用法
Jun 03 Python
python3跳出一个循环的实例操作
Aug 18 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 面向对象 PHP5 中的常量
2010/05/05 PHP
php简单生成随机数的方法
2015/07/30 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Django-migrate报错问题解决方案
2020/04/21 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
台湾三立电视电商平台:电电购
2019/09/09 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
销售行业个人求职自荐信
2013/09/25 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
护理专业自荐信范文
2015/03/06 职场文书
消防安全主题班会
2015/08/12 职场文书
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python