python中时间模块的基本使用教程


Posted in Python onMay 14, 2019

前言:

在开发中经常会与时间打交道,如:获取事件戳,时间戳的格式化等,这里简要记录一下python操作时间的方法。

python中常见的处理时间的模块:

  • time:处理时间的模块,如获取时间戳,格式化日期等
  • datetime:date和time的结合体,处理日期和时间
  • calendar:日历相关的模块,如:处理年历/月历

time模块介绍

说明:time模块主要讲解如下内容:

1.时间戳  --> 时间元组格式(time.struct_time)   -->  日期字符串

2.日期字符串 -->  时间元组格式(time.struct_time)  --> 时间戳

3.获取当前时间的分钟/秒

4.获取整分钟/整小时时间戳

1.时间戳  --> 时间元组格式(time.struct_time)   -->  日期字符串

时间戳  --> 时间元组格式

time.localtime(timestamp)  # 参数timestamp为秒级时间戳

例子:

import time

time_tuple = time.localtime(time.time())
print time_tuple # time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=29, tm_sec=33, tm_wday=2, tm_yday=30, tm_isdst=0)

时间元组 --> 日期字符串

time.strftime(format, p_tuple=None):format:格式化的日期样式;p_tuple:时间元组

例子:

time_format = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print time_format # 2019-01-30 11:48:07

封装成方法:

def timestamp_format(timestamp):
 """
 :brief 时间戳格式化
 :param timestamp: 时间戳
 :return: 格式化后的日期
 """
 return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))

2.日期字符串 --> 时间元组格式(time.struct_time) --> 时间戳

日期字符串 -->  时间元组

time.strptime(string, format) # string:日期字符串,format:该日期字符串对应的格式化格式

例子:

import time

time_str_to_tuple = time.strptime("2019-01-30 11:48:07", "%Y-%m-%d %H:%M:%S")
print time_str_to_tuple # time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=48, tm_sec=7, tm_wday=2, tm_yday=30, tm_isdst=-1)

时间元组  --> 时间戳

time.mktime(p_tuple):p_tuple:时间元组

例子:

time_tuple_to_timestamp = int(time.mktime(time_str_to_tuple))
print time_tuple_to_timestamp # 结果:1548820087

封装成方法

def time_str_to_timestamp(date_str, format):
 """
 :brief 将字符串日期转换为时间戳
 :param date_str: 日期字符串,如:2019-01-30 11:48:07
 :param format: 日期字符串对应的格式化格式,如:%Y-%m-%d %H:%M:%S
 :return: 时间戳
 """
 return int(time.mktime(time.strptime(date_str, format)))

3.获取当前时间的分钟/秒

获取当前时间戳

timestamp = int(time.time())

获取当前时间的秒

seconds = timestamp % 60
print "seconds:{}".format(seconds)

获取当前时间的分钟

minute = (timestamp - seconds) % (60 * 60)
print "minute:{}".format(minute / 60)

4.获取整分钟/整小时时间戳

思路:

先除以对应的进制值取整,得到舍弃余数部分的整数,然后再乘以对应的进制值

one_minute = 60 # 一分钟
one_hour = one_minute * 60 # 一小时

whole_minute = int(timestamp / one_minute) * one_minute
whole_hour = int(timestamp / one_hour) * one_hour

datetime模块介绍

datetime模块中常见的类:

  • datetime.date:处理日期
  • datetime.time:处理时间
  • datetime.datetime:处理日期和时间
  • datetime.timedelta:处理时间差

说明:datetime模块主要讲解如下内容

1.时间戳  --> datetime时间格式   -->  日期字符串

2.日期字符串 -->  datetime时间格式  --> 时间元组格式(time.struct_time) --> 时间戳

3.时间差的使用,根据当前时间获取前N天的时间

1.时间戳  --> datetime时间格式   -->  日期字符串

时间戳  --> datetime时间格式

datetime.datetime.fromtimestamp(timestamp) 参数timestamp:时间戳

例子:

import time, datetime

datetime_type = datetime.datetime.fromtimestamp(time.time())
print type(datetime_type) # <type 'datetime.datetime'>

datetime时间格式   -->  日期字符串

datetime.datetime.strftime(format) format:日期字符串对应的格式化格式

例子:

datetime_format = datetime_type.strftime("%Y/%m/%d %H:%M:%S")
print datetime_format # 2019/01/30 16:44:01

2.日期字符串 -->  datetime时间格式  --> 时间元组格式(time.struct_time) --> 时间戳

日期字符串 -->  datetime时间格式

datetime.datetime.strptime(date_str, format) date_str:字符串日期    format:日期字符串对应的格式化格式

例子:

datetime_type = datetime.datetime.strptime('2019/01/30 16:44:01', '%Y/%m/%d %H:%M:%S')
print type(datetime_type) # <type 'datetime.datetime'>
# print datetime_type.timestamp()
print time.mktime(datetime_type.timetuple())

datetime时间格式  --> 时间元组格式(time.struct_time) --> 时间戳

datetime.datetime.timetuple(): datetime转换为时间元组

例子:

datetime_type_to_timestamp = int(time.mktime(datetime_type.timetuple()))
print datetime_type_to_timestamp

3.时间差的使用,根据当前时间获取前N天的时间

datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)

参数说明:

1.days:天

2.seconds:秒

3.microseconds:毫秒      1秒 = 10^3 毫秒

4.milliseconds:微秒      1秒 = 10^6 微秒

5.minutes,分钟

6.hours:小时

7.weeks:星期    1weeks = 7days

例子:

day_timedelta = datetime.timedelta(days=1) # 获取1天的时间值
forward_datetime = datetime.datetime.today() - day_timedelta # 获取前一天的datetime值
print forward_datetime

calendar模块介绍

说明:

这里介绍一下使用month(year, month)方法打印出某年某月下的月历时间

例子:

import calendar
cal = calendar.month(2019, 1) # 打印出2019年1月的月历
print cal

喜欢点个赞!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python利用elaphe制作二维条形码实现代码
May 25 Python
Python解析最简单的验证码
Jan 07 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
python处理csv数据动态显示曲线实例代码
Jan 23 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
关于django 1.10 CSRF验证失败的解决方法
Aug 31 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
python实现滑雪游戏
Feb 22 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
使用Python正则表达式操作文本数据的方法
May 14 #Python
Django如何防止定时任务并发浅析
May 14 #Python
python3 pygame实现接小球游戏
May 14 #Python
Django 多环境配置详解
May 14 #Python
python仿evething的文件搜索器实例代码
May 13 #Python
python爬虫租房信息在地图上显示的方法
May 13 #Python
详解如何设置Python环境变量?
May 13 #Python
You might like
用PHP开发GUI
2006/10/09 PHP
小谈php正则提取图片地址
2014/03/27 PHP
php中stdClass的用法分析
2015/02/27 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
Angular排序实例详解
2017/06/28 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
2019/09/03 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
用python代码做configure文件
2014/07/20 Python
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
python urllib和urllib3知识点总结
2021/02/08 Python
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
JAVA代码查错题
2014/10/10 面试题
中专毕业自我鉴定
2013/10/16 职场文书
高校辅导员推荐信范文
2013/12/25 职场文书
班长自荐书范文
2014/02/11 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
2014年采购工作总结
2014/11/20 职场文书
现实表现证明材料
2015/06/19 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python
使用python绘制分组对比柱状图
2022/04/21 Python
Oracle用户管理及赋权
2022/04/24 Oracle