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 21 Python
详解Django中六个常用的自定义装饰器
Jul 04 Python
Python数据类型之Number数字操作实例详解
May 08 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
Django实现发送邮件功能
Jul 18 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
Python list与NumPy array 区分详解
Nov 06 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
django框架ModelForm组件用法详解
Dec 11 Python
详解Django中异步任务之django-celery
Nov 05 Python
python中判断数字是否为质数的实例讲解
Dec 06 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代码收集表单内容并写入文件的代码
2012/01/29 PHP
教你如何使用php session
2013/10/28 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
php集成开发环境详解
2019/09/24 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
Jquery-data的三种用法
2017/04/18 jQuery
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
浅析Python基础-流程控制
2016/03/18 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
python实现机器学习之元线性回归
2018/09/06 Python
python async with和async for的使用
2019/06/20 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Python实现异步IO的示例
2020/11/05 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
解决margin 外边距合并问题
2019/07/03 HTML / CSS
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
工伤事故赔偿协议书范文
2014/09/24 职场文书
万里长城导游词
2015/01/30 职场文书
付款证明模板
2015/06/19 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
小学运动会宣传稿
2015/07/23 职场文书