2

私はこのような時間形式を持っています

t = "2012-03-20T08:31:00-05:00"

このように RegEx を使用して時刻の内容を抽出できます。

p = re.compile("(\d{4})\-(\d\d)\-(\d\d)T(\d\d):(\d\d):(\d\d)[\-|+]\d\d:\d\d")
matches = p.findall(t)

しかし、この形式を RegEx を使用せずに unix_timestamp に直接変換する方法があるかどうか疑問に思っていましたか? カレンダー ライブラリなどはありますか?

4

3 に答える 3

2

datetime.datetime.strptimeあなたの友だちです :)

http://docs.python.org/library/datetime.html#datetime.datetime.strptime

于 2012-08-03T10:47:23.190 に答える
1

time モジュールのstrptimeを使用する

于 2012-08-03T10:45:34.277 に答える
1

使用time.strptime:

time.strptime(t, "%Y-%m-%dT%H:%M:%S-%Z")

残念ながら、これは数値のタイム ゾーン オフセットでは機能しないようです。 python-dateutilはあなたのフォーマットを処理できるはずです:

dateutil.parser.parse(t)

または、数値オフセットの前に文字列を分割することもできます。

t, offset_sign, offset = t[:-6], t[-6], t[-5:]
t = time.strptime(t, "%Y-%m-%dT%H:%M:%S")
offset = time.strptime(offset, "%H:%M")
于 2012-08-03T10:46:03.360 に答える