1

mbox形式のメールスプールを解析しようとしています。

私はこれを行うコードを持っています:

if string.find(line, 'Date: ') == 0:                     
    try:
        when = time.mktime(time.strptime(line[6:30], "%a, %d %b %Y %H:%M:%S"))

line ='Date:Sat、17 Apr 2004 22:29:37 -0400 \ n'の場合、間違った結果(22:29:37ではなく22:29:03)が表示されることを除いて、通常は正常に機能しているようです。 )。

これが私のpdbトレースです:

(Pdb) p line
'Date: Sat, 17 Apr 2004 22:29:37 -0400\n'
(Pdb) p time.strptime(line[6:30], "%a, %d %b %Y %H:%M:%S")
time.struct_time(tm_year=2004, tm_mon=4, tm_mday=17, tm_hour=22, tm_min=29, tm_sec=3, tm_wday=5, tm_yday=108, tm_isdst=-1)
(Pdb)

結果は34秒ずれているようです。私は何が間違っているのですか?

4

1 に答える 1

7

線を短くスライスしています。2番目の値は排他的であり、包括的ではありません。

>>> line[6:30]
'Sat, 17 Apr 2004 22:29:3'
>>> line[6:31]
'Sat, 17 Apr 2004 22:29:37'
>>> time.strptime(line[6:31], "%a, %d %b %Y %H:%M:%S")
time.struct_time(tm_year=2004, tm_mon=4, tm_mday=17, tm_hour=22, tm_min=29, tm_sec=37, tm_wday=5, tm_yday=108, tm_isdst=-1)
于 2012-09-05T19:32:49.473 に答える