1

日付と時刻を解析する必要があります。これが私が持っているものです:

import time
a = time.strptime('Apr 28 2013 23:01', "%b %d %y %H:%M")
print a 

しかし、それは私に与えます

Traceback (most recent call last):
  File "/home/aaa/Documents/python_test.py", line 17, in <module>
    a = time.strptime('Apr 28 2013 23:01', "%b %d %y %H:%M")
  File "/usr/lib/python2.7/_strptime.py", line 467, in _strptime_time
    return _strptime(data_string, format)[0]
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'Apr 28 2013 23:01' does not match format '%b %d %y %H:%M'

私は何を間違っていますか?

4

3 に答える 3

11

%y%Y4桁の年にする必要があります...

ドキュメントから:

%y  Year without century as a decimal number [00,99].    
%Y  Year with century as a decimal number.
于 2013-05-03T09:19:04.893 に答える
0

あなたはできる

import time
a = time.strptime('Apr 28 2013 23:01', "%b %d %Y %H:%M")
print time.strftime("%d/%m/%Y",a)

Y。その後にコードの変換行が続き、結果が得られます

2013/04/28

于 2013-05-03T09:28:51.837 に答える
-2

Jon の答えはもちろん正しいですが、お気づきのように、これらのことを見つけるのは難しい場合があります。

問題をデバッグするための一般的な提案として、解析に使用するフォーマット文字列を使用しstrptimeて既知のものを出力することをお勧めします。datetime

from datetime import datetime

d = datetime(2013, 4, 28, 23, 1)
print d.strftime("%b %d %y %H:%M")
print 'Apr 28 2013 23:01'

出力行の視覚的な比較:

Apr 28 13 23:01
Apr 28 2013 23:01

問題をすばやく見つけ、フォーマット文字列が正しい場合にも機能しますが、別のロケールで作業しています (たとえば、スペイン語では「Apr」ではなく「Abr」が必要です)。

于 2013-05-03T09:29:01.417 に答える