按时间分割时间戳

时间:2012-07-24 15:18:33

标签: python

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

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

我正在尝试按小时分割每个字符串。但是,使用"string".strp(":")显然不起作用,因为too many values to unpack错误(由于几个:),而"string".strp(":%S")的值错误为more than one value to unpack。 有什么想法吗?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

你有两个选择。您可以使用datetime.datetime.strptime为您提供datetime个对象,然后执行dt.hour,这可能是您想要做的事情,具体取决于您使用这些对象。< / p>

或者,或者,如果你想只是按原样使用字符串处理,你可以使用str.split,如你所示,但使用可选的第二个参数,这是最大的次数到拆分,所以s.split(":", 1)。或者类似地,str.partition,基本上会做同样的事情但不会为没有&#34;的事情引发错误:&#34;。有了这两个,你需要使用切片在开始的时候剥离东西。