我正在尝试从给定的时间表中获得可用时间:
167.0 01:50:48 02:09:56
167.0 03:48:08 04:07:16
167.0 05:45:25 06:04:32
167.0 07:42:39 08:01:45
167.0 08:49:05 22:16:43
167.0 23:17:18 23:59:59
168.0 03:11:24 03:32:05
168.0 00:00:00 03:32:05
168.0 05:08:25 05:29:16
168.0 07:05:04 07:26:02
168.0 09:00:53 23:09:45
169.0 01:47:09 02:07:32
169.0 00:00:00 02:07:32
169.0 03:43:50 04:04:09
169.0 05:40:42 06:00:59
169.0 07:37:44 07:48:00
169.0 09:34:55 23:59:59
170.0 00:00:00 01:32:00
170.0 10:37:37 23:59:59
171.0 02:36:01 02:45:24
171.0 00:00:00 02:45:24
171.0 04:33:10 04:92:34
171.0 06:30:21 06:89:47
171.0 08:27:34 08:47:02
171.0 10:24:49 23:59:59
172.0 03:59:50 04:19:21
172.0 00:00:00 04:19:21
172.0 05:57:01 06:16:33
172.0 07:54:14 08:13:48
172.0 09:51:29 10:11:04
172.0 11:48:44 23:59:59
其中第一列为年月日,中间列为开始时间,右边列为结束时间。
是否有一种方法可以将其颠倒,以便在一年中的给定日期显示00:00:00和23:59:59之间的可用时间?
考虑一个简单的日历应用程序。你把无效的时间划掉,日历会显示这些时间以及有效的时间。值得庆幸的是,您使用的是军事时间,这使得问题不那么复杂。
最后,你会得到一个时间列表。
在给定列表的情况下,我将大致这样做。
首先,在每行上使用string.split()
。这将给你一个列表,每个条目都是分段的。
从00:00:00开始,一直读到你遇到的第一个时隙,假设它们是有序的。
将该条目添加到列表中,从00:00:00到该窗口的开始。
从第一个时间块的末尾,读到下一个时间块的开始。这是另一个间隔
冲洗并重复,直到你有一个从00:00:00到23:59:59的所有时间的列表,不有一个与它们相关的间隔。
这有帮助吗?