Python比较2个时间大小的实现方法
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
可见这个函数是可以达到比较时间先后的目的的。从打印的时间信息可以看出来,未赋值的日期部分是元年日期,所以不太严谨。
相关推荐
Greatemperor 2020-07-19
勇往直前 2020-05-17
igogo00 2020-05-15
CloudXli 2020-02-21
GoatSucker 2020-02-09
千锋 2020-01-29
assastor 2020-01-29
89510194 2020-01-18
llwang0 2019-12-28
azhou 2019-12-27
Airuio 2019-12-20
sunnyJam 2019-12-08
wyqwilliam 2019-11-12
Laozizuiku 2019-11-12
zhangpan 2019-11-10
sprintwind 2011-03-23
xianhe0 2010-08-25