我需要检查时间戳字符串是否在时间范围内:
tt = '26-12-2012 18:32:51'
t1 = datetime.timedelta(0, 28800) #08:00 hrs
t2 = datetime.timedelta(0, 68400) #19:00 hrs
要比较我是否需要将时间戳转换为 timedelta?,我该怎么做,比较像:
if tt >= t1 and tt <= t2:
谢谢..
我需要检查时间戳字符串是否在时间范围内:
tt = '26-12-2012 18:32:51'
t1 = datetime.timedelta(0, 28800) #08:00 hrs
t2 = datetime.timedelta(0, 68400) #19:00 hrs
要比较我是否需要将时间戳转换为 timedelta?,我该怎么做,比较像:
if tt >= t1 and tt <= t2:
谢谢..
首先,构造一个日期时间对象datetime.strptime
:
>>> t = datetime.datetime.strptime('26-12-2012 18:32:51', '%d-%m-%Y %H:%M:%S')
>>> t
datetime.datetime(2012, 12, 26, 18, 32, 51)
现在,构造第二个仅代表日期部分的日期时间对象:
>>> t2 = t.replace(hour=0, minute=0, second=0)
从中您可以得到一个datetime.timedelta
适合与您的其他timedelta
s 进行比较的:
>>> t - t2
datetime.timedelta(0, 66771)
>>> dt = t - t2
>>> dt1 = datetime.timedelta(0, 28800) #08:00 hrs
>>> dt2 = datetime.timedelta(0, 68400) #08:00 hrs
>>> dt > dt1
True
>>> dt2 > dt > dt1
True