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使用chardet判断字符串编码的方法
Mar 13 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
pandas中Timestamp类用法详解
Dec 11 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
python中调试或排错的五种方法示例
Sep 12 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
Jan 24 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
Python竟然能剪辑视频
May 25 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
Zend的Registry机制的使用说明
2013/05/02 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
python中的随机函数random的用法示例
2018/01/27 Python
Python输出各行命令详解
2018/02/01 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
比利时香水网上商店:NOTINO
2018/03/28 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
网络编辑岗位职责
2014/03/18 职场文书
网站美工岗位职责
2014/04/02 职场文书
学术诚信承诺书
2014/05/26 职场文书
支部鉴定材料
2014/06/02 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
新党章的学习心得体会
2014/11/07 职场文书
先进党支部事迹材料
2014/12/24 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书