2

我有一个 ISO 格式的时间戳列表

[u"2000-01-01T00:00:00+00:00", u"2000-01-01T00:00:00+00:00", ... ]

我正在尝试按小时拆分每个字符串。但是,使用"string".strp(":")显然不会起作用,因为too many values to unpack错误(由于几个 :'s)并"string".strp(":%S")给出more than one value to unpack. 有任何想法吗?

4

2 回答 2

2

iso8601是一个很棒的开源 python 模块来解析 ISO 日期时间字符串http://code.google.com/p/pyiso8601/

它将它变成了 python 的原生datetime类型,应该更容易使用。

于 2012-07-24T15:21:05.833 回答
2

你有两个选择。您可以使用datetime.datetime.strptime给您datetime对象,然后只做dt.hour,您可能还是想做,这取决于您对这些对象所做的事情。

或者,或者,如果您只想按原样使用字符串处理,则可以使用str.split如您所展示的那样,但带有可选的第二个参数,即最大拆分次数,因此s.split(":", 1). 或者类似地,str.partition它基本上会做同样的事情,但不会为没有“:”的东西引发错误。使用这两种方法,您需要在开始时使用切片剥离这些东西。

于 2012-07-24T15:22:29.263 回答