3

Pythonのstrptimeメソッドを使用して、タイトルで説明されている形式を解析する方法を知っている人はいますか?

私はこれに似たものを持っています:

import datetime    
date = datetime.datetime.strptime(entry.published.text, '%Y-%m-%dT%H:%M:%S.Z')

これがどんなタイムフォーマットなのかわからないようです。ちなみに、私はPython言語の初心者です(C#に慣れています)。

アップデート

これは私が以下のアドバイス(回答)に基づいてコードを変更した方法です:

from dateutil.parser import *
from datetime import *
date = parse(entry.published.text)
4

4 に答える 4

5

その日付はISO8601、より具体的にはRFC3339形式です。

このような日付は、で解析できませんstrptime。これを議論するPythonの問題があります。

dateutil.parser.parse例の日付を含め、さまざまな日付を処理できます。

XMLまたはRSSの解析に外部モジュールを使用している場合は、おそらくその日付を解析するためのルーチンがそこにあります。

于 2010-10-15T23:09:33.630 に答える
0

答えを見つける良い方法は次のとおりです。を使用してstrftime、表示されたものを出力するフォーマット文字列を作成します。その文字列は、定義上、時間をPARSEするために必要な文字列になりますstrptime

于 2010-10-15T22:51:46.430 に答える
0

RSS または Atom フィードを解析しようとしている場合は、Universal Feed Parserを使用してください。多くの日付/時刻形式をサポートしています。

>>> import feedparser                 # parse feed
>>> d = feedparser.parse("http://stackoverflow.com/feeds/question/3946689")
>>> t = d.entries[0].published_parsed # get date of the first entry as a time tuple
>>> import datetime
>>> datetime.datetime(*t[:6])         # convert time tuple to datetime object
datetime.datetime(2010, 10, 15, 22, 46, 56)
于 2010-10-16T08:28:46.217 に答える
-1

これは、標準のXML日時形式であるISO 8601です。すでにXMLライブラリを使用している場合、それらのほとんどには日時パーサーが組み込まれています。xml.utils.iso8601かなりうまく機能します。

import xml.utils.iso8601
date = xml.utils.iso8601.parse(entry.published.text)

これに対処する他の多くの方法をここで見ることができます: http ://wiki.python.org/moin/WorkingWithTime

于 2010-10-15T22:49:35.017 に答える