2016-09-21 13 views
0

私は現在、職場で機能を自動化するためのスクリプトを作成しようとしていますが、私はPythonに精通していません。 XMLダンプを取って特定のエントリの日付を比較して、時間が経過したかどうかを調べようとしています。例えばPythonの日付比較と文字列出力/形式

<3-letter Month> <DD> <HH:MM:SS> <YYYY> <3-letter Timezone> 

::私は生の形式の文字列を解析されてきた

May 14 20:11:20 2014 GMT 

、何とかしてそれを比較する必要が

日付が与えられ、特定のフォーマットであります時間が経過したかどうかを調べるための現在の時刻。つまり、テキストの書式を設定する方法、またはPythonで正しいマスク/時刻形式を選択する方法を検討するのは少し面倒です。

私は同じ基本フォーマットの異なるバリエーションをいじりてきた:整えて

if(trimmed < time.strftime("%x")): 

はきれい日付/時刻文字列です。時間はのインポート時刻から派生しています。

これを修正する簡単な方法はありますか、形式の変換などを掘り下げなければなりませんか?私は上記の試みが単純であることは知っていますが、私はPythonにとってまだ非常に新しいです。あなたの時間と忍耐力に感謝します!

+0

「トリミング」とは何ですか? 'time'の中に実際の時間値がある場合(それが現れると)、あなたが解析したものから時間値を作り、それを' time'と比較するのはどうですか? –

+0

ああ申し訳ありません!トリムされるのは、タグフリーの日付/時刻の入力です。時間は標準ライブラリ時間から直接得られます。私はそれに応じて編集します。 –

答えて

1

gmtime(GMT時間の場合)、mktimeとdatetimeの組み合わせを使用する必要があります。

from time import gmtime,mktime 
from datetime import datetime 

s = "May 14 20:11:20 2014 GMT" 
f = "%b %d %H:%M:%S %Y GMT" 
dt = datetime.strptime(s, f) 
gmt = datetime.fromtimestamp(mktime(gmtime())) 
if dt<gmt: 
    print(dt) 
else: 
    print(gmt) 
+0

柔軟性を高めるため、 'GMT'の代わりに%Zを使用することができます –

+0

明確にするために、dtは新しくフォーマットされた日付時刻文字列であり、gmtはエポックからdt-rightまでの相対時間ですか? –

+0

私の出力のためにいくつかの表面的なものを変更しましたが、ありがとう!その機能的な正確に私が探していたもの! –

関連する問題