2012-03-06 7 views
0

私は簡単なニュースフィードアグリゲータを書こうとしています。標準のPython 9タプルの時刻形式を比較するには?

私はhttp://code.google.com/p/feedparser/を使用しています、と私はどのように(2004、1、1、19、48、21、3、1、0)の各ポストのため、http://packages.python.org/feedparser/date-parsing.html

のような標準的なPythonの9組の時刻形式を取得します私はこの時間形式を比較しますか?

フィードの記事が新しいかどうかを知りたい場合は、唯一の方法である時間を比較していますか?

ありがとうございます!

答えて

3

これまで見たことがあるすべての記事を完全にフィルタリングしないようにしたい場合を除き、時間の比較はおそらく最も良い方法でしょう。

9タプルの実際の比較は非常に簡単です:Pythonのデフォルトのタプルの順序は、項目ごとの要素を比較しています

>>> (2004, 1, 1, 19, 48, 21, 3, 1, 0) > (2004, 1, 1, 19, 48, 10, 3, 1, 0) 
True 
>>> (2004, 1, 1, 19, 48, 21, 3, 1, 0) > (2005, 1, 1, 19, 48, 21, 3, 1, 0) 
False 

あなたが必要とする正確に何であることが判明しています。

0

このようにしますか?

>>> date1 = (2004, 1, 1, 19, 48, 21, 3, 1, 0) 
>>> date2 = (2012, 1, 1, 19, 48, 21, 3, 1, 0) 
>>> date1[0] == date2[0] 
False 
>>> date1[0] == 2004 
True 
+0

感謝を!しかし、私はそうは思わない。それは簡単な方法で比較されることになっています。 –

+2

@Susanの場合、 '<' and '> 'を使って比較して、ある日付が別の日付より早いか遅いかを確認することもできます –

1

時間タプルは、d1 < d2またはd1 == d2と直接比較できます。フィールドは辞書的に比較される(すなわち、最初のフィールドが等しい場合は比較され、次に等しい場合は比較される)。

あなたは比較の詳細を制限したい場合は、チョップオフにする必要のないフィールドを使用スライス:

d1[:3] == d2[:3]  # compare just the year/month/day fields 
関連する問題