Python比较2个时间大小的实现方法

yipeiwu_com5年前Python基础

Python中有time和datetime,不过二者都直接取出日期和时间。 当需要比较2个时间的先后时,这两个类的函数都显得有些过于复杂。因为它们都带上了日期。

如果仅想比较时间,取出当前时间会带有日期信息,而指定比较的目标时间时还要给日期部分赋值。那个time_struct,一大堆的参数。赋值感觉很麻烦哦。

不用什么函数,直接将当前时间格式化成字符串然后转换成整数进行比较。 如下表示当前时间在09:35:10与15:01:01之间。

150101 > int(time.strftime("%H%M%S")) > 93510

简单的比较函数

此处用time写了一个简易比较方法。思路是将时间部分格式化成字符串,然后转成数字,直接相减来判断先后。

def time_cmp(first_time, second_time):
 print(first_time)
 print(second_time)
 return int(time.strftime("%H%M%S", first_time)) - int(time.strftime("%H%M%S", second_time))

测试结果

测试与输出如下:

print(time_cmp(time.gmtime(), time.strptime("09:35:10", "%H:%M:%S")))
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=9, tm_hour=15, tm_min=13, tm_sec=44, tm_wday=3, tm_yday=68, tm_isdst=0)
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=35, tm_sec=10, tm_wday=0, tm_yday=1, tm_isdst=-1)
57834

tips

可见这个函数是可以达到比较时间先后的目的的。从打印的时间信息可以看出来,未赋值的日期部分是元年日期,所以不太严谨。

以上这篇Python比较2个时间大小的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能

Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能

测试结果:  整个买票流程可以再快一点,不过为了稳定起见,有些地方等待了一些时间 完整程序,拿去可用 整个程序分了三个模块:购票模块(主体)、验证码识别模块、余票查询模块...

使用python 3实现发送邮件功能

下面一段简短代码给大家介绍python 3实现发送邮件功能,具体代码如下所示: import smtplib from email.mime.text import MIMEText...

Python2.x中文乱码问题解决方法

Python2.x中文乱码问题解决方法

Python中乱码问题是一个很头痛的问题。 在Python3中,对中文进行了全面的支持,但在Python2.x中需要进行相关的设置才能使用中文。否则会出现乱码 【问题原因】 在Pyth...

基于Python实现大文件分割和命名脚本过程解析

日志文件分割、命名 工作中经常会收到测试同学、客户同学提供的日志文件,其中不乏几百M一G的也都有,毕竟压测一晚上产生的日志量还是很可观的,xDxD,因此不可避免的需要对日志进行分割,通...

tensorflow 获取模型所有参数总和数量的方法

实例如下所示: from functools import reduce from operator import mul def get_num_params(): num_p...