如果日期已更改,则增加次数?

2024-04-19 06:31:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表,其中一个如下所示:

'Thu Jun 18 19:58:02 2015
 ...many lines of data...
 txup: 19:59:47 txdown: 20:05:22
 rxup: 21:43:17 rxdown: 22:13:01'

但另一种可能是这样的:

'Fri Jun 19 23:12:12 2015
 ...many lines of data...
 txup: 23:39:47 txdown: 23:57:22
 rxup: 00:01:17 rxdown: 01:13:01'

如你所见,在某些情况下,时间可能会跨越午夜。当发生这种情况时,以上面的字符串为例,与该时间关联的日期现在将是6月20日,而不是6月19日。你知道吗

我需要编写一个代码,将“rxup”时间与字符串开头的日期/时间进行比较,并识别它是否以及何时会因为超过午夜而增加一天(都是相对于开头的日期/时间)。你知道吗

如果它还没有过午夜,因此是同一天,那么我就完了。但是如果它已经过了午夜,我需要把这个时间和开始的时间之间的差作为timedelta对象,然后把这个增量加到开始的时间的副本上。我该怎么做?你知道吗


Tags: of字符串列表data时间情况junmany
2条回答

如果时间单调地增长,你可以简单地按字典顺序进行比较“00:01:17”明显小于“23:39:47”,因此每次下一个时间戳小于当前时间戳时,都会增加日期。你知道吗

假设rxup总是在txdown之后出现,但不到24小时之后出现,您可以如下进行比较:

# txdown, rxup - datetimes with respective times, date part doesn't matters
# associated_date - datetime associated with string
if rxup.time() < txdown.time():
    associated_date += datetime.timedelta(days=1)

相关问题 更多 >