脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2025/12/2 浏览:3 次 )

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个时间大小的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:pandas把dataframe转成Series,改变列中值的类型方法
下一篇:在pandas中一次性删除dataframe的多个列方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap