2016-08-23 12 views
1

3 days agoのような人間の用語をpython 2.7に解析したい場合は、timedelta相当のものを入手してください。例えば人間が読める相対時間の解析

>>> relativetimeparer.parser('3 days ago') 
datetime.timedelta(3) 

私はdateparserモジュールを試してみました。

>>> import dateparser 
>>> dateparser.parse('3 days ago') 
datetime.datetime(2016, 8, 20, 2, 57, 23, 372538) 
>>> datetime.now() - dateparser.parse('3 days ago') 
datetime.timedelta(3, 35999, 999232) 

それはtimedeltaを返すオプションなしでdatetimeに直接相対時間を解析します。 3日前は実際には3日と10時間前だと思うようです。だから、グリニッジからの私のタイムゾーンオフセットも(+10時間)呼び出すようだ。

人間が読める相対時間を解析するためのモジュールがありますか?

答えて

1

あなたはRELATIVE_BASE設定を指定することができます。

>>> now = datetime.datetime.now() 
>>> res = dateparser.parse('3 days ago', settings={'RELATIVE_BASE': now}) 
>>> now - res 
datetime.timedelta(3) 
+0

ありがとうございました。私はreadthedocsページを見ていましたが、その特定の機能は明確に文書化されていませんでした。 – ChrisGuest

関連する問題