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显示天气预报
Mar 02 Python
python使用wxPython打开并播放wav文件的方法
Apr 24 Python
python编程开发之日期操作实例分析
Nov 13 Python
Python工程师面试题 与Python基础语法相关
Jan 14 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
Tensorflow 实现释放内存
Feb 03 Python
python读取配置文件方式(ini、yaml、xml)
Apr 09 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
python利用platform模块获取系统信息
Oct 09 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四大安全策略
2014/03/12 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
js中replace的用法总结
2013/12/27 Javascript
node.js中的fs.writeFileSync方法使用说明
2014/12/14 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
jQuery Mobile 和 Kendo UI 的比较
2016/05/05 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python 用户登录验证的小例子
2013/03/06 Python
Python去掉字符串中空格的方法
2014/03/11 Python
python实现查询IP地址所在地
2015/03/29 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Python缓存技术实现过程详解
2019/09/25 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
支教自我鉴定
2014/01/18 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
2014年网管工作总结
2014/12/11 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
Python实现打乒乓小游戏
2021/09/25 Python
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL