2013-02-14 110 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

相關問題