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统计文件行数示例分享
Feb 21 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
Python遍历文件夹 处理json文件的方法
Jan 22 Python
python把1变成01的步骤总结
Feb 27 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
基于python判断目录或者文件代码实例
Nov 29 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
Python 支持向量机分类器的实现
Jan 15 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
Jun 05 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
解决laravel查询构造器中的别名问题
2019/10/17 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
Javascript实现单例模式
2016/01/24 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
Python xpath表达式如何实现数据处理
2020/06/13 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
比驿:全球酒店比价网
2018/06/20 全球购物
Java程序员面试90题
2013/10/19 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
办公室前台的岗位职责
2013/12/20 职场文书
美术教师自我鉴定
2014/02/12 职场文书
迎国庆演讲稿
2014/09/15 职场文书
委托书英文
2015/01/28 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python