找出起始时间和结束时间之间的值

2024-10-05 14:00:51 发布

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

我有一个变量start\u time和end\u time和另一个值confirmed\u time。我需要做一个匹配,确认的时间在开始时间和结束时间之间。我怎么知道。时间格式如下:

starting_time = "Jan 25 10:00:00"
ending_time   = "Jan 26 20:06:59"

确认的时间也是同样的格式。你知道吗

任何帮助都将不胜感激


Tags: time格式ending时间startjanendstarting
3条回答

使用dateutil解析值并将其转换为datetime。然后检查确认的时间是否在要求的时间间隔内。你知道吗

datetime模块会有所帮助

In [41]: starting_time = "Jan 25 10:00:00"

In [42]: datetime.datetime.strptime(starting_time, "%b %d %H:%M:%S")
Out[42]: datetime.datetime(1900, 1, 25, 10, 0)

In [43]: s = datetime.datetime.strptime(starting_time, "%b %d %H:%M:%S")

In [44]: ending_time   = "Jan 26 20:06:59"

In [45]: e = datetime.datetime.strptime(ending_time, "%b %d %H:%M:%S")

In [46]: e
Out[46]: datetime.datetime(1900, 1, 26, 20, 6, 59)

In [47]: confirm_time   = "Jan 26 12:00:00"

In [48]: c = datetime.datetime.strptime(confirm_time, "%b %d %H:%M:%S")

In [49]: if s < c < e:
   ....:     print True
   ....:
True

检查这些formats,它们可以在将字符串转换为datetime对象时使用

您可以使用datetime.strptime将日期和时间解析为datetime对象,并对它们进行比较。注意,每个时间的格式保持不变是很重要的

>>> starting_time = "Jan 25 10:00:00"
>>> ending_time   = "Jan 26 20:06:59"
>>> confirmed_time = "Jan 25 11:11:11"
>>> starting_time_dt = datetime.strptime(starting_time,"%b %d %H:%M:%S")
>>> ending_time_dt   = datetime.strptime(ending_time,"%b %d %H:%M:%S")
>>> confirmed_time_dt   = datetime.strptime(confirmed_time,"%b %d %H:%M:%S")
>>> if starting_time_dt <= confirmed_time_dt <= ending_time_dt:
    print "Within ...."


Within ....
>>> confirmed_time = "Jan 24 11:11:11"
>>> confirmed_time_dt   = datetime.strptime(confirmed_time,"%b %d %H:%M:%S")
>>> if starting_time_dt <= confirmed_time_dt <= ending_time_dt:
    print "Within ...."


>>> 

相关问题 更多 >

    热门问题