2013-02-14 109 views
0

我需要检查,如果一个时刻字符串是进入的时间范围内:检查时间戳字符串是一个时间范围

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: 

谢谢..

+0

比较一datetime到timedelta?这究竟意味着什么? – 2013-02-14 21:03:57

+0

我在问如何... – user1913878 2013-02-14 21:06:53

+0

要做到这一点,你必须知道什么时候创建了timedelta。 timedelta只处理两次之间的差异,所以如果你只有一次绝对时间,我不知道你希望用它做什么......你想知道自tt以来经过多少时间? – placeybordeaux 2013-02-14 21:06:59

回答

4

首先,构造一个DateTime对象与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) 

现在,构建第二DateTime对象只表示日期部分:

>>> t2 = t.replace(hour=0,minute=0,second=0) 

从,你可以得到一个datetime.timedelta适合与其他timedelta小号比较:

>>> 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 
+0

@ user1913878 - 没问题。祝你好运。 – mgilson 2013-02-14 21:32:11

相关问题