0

time_listはタプルのリストであり、各タプル内には整数と2つの文字列があり、2つの文字列は日付形式ですが、実際の日時オブジェクトに変更したいと思います。これが私がすることです:

for row in time_list:
    row[1] = datetime.strptime(row[1], "%Y-%m-%d %H:%M:%S.%5N")
    row[2] = datetime.strptime(row[2], "%Y-%m-%d %H:%M:%S.%5N")
    delta = row[2] - row[1]
    timedelta.append(delta)

%5Nを削除すると別のエラーが発生しますが、それは私がやろうとしていることではないので、気にしません。%5Nが問題を引き起こしていることを私は知っています。私が得るエラーは次のとおりです。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\user\Programs\time_database.py", line 50, in search2
    row[1] = datetime.strptime(row[1], "%Y-%m-%d%t%H:%M:%S.%5N")
  File "C:\Python27\lib\_strptime.py", line 317, in _strptime
    (bad_directive, format))
ValueError: '5' is a bad directive in format '%Y-%m-%d %H:%M:%S.%5N'
4

1 に答える 1

3

%5NstrftimePythonで使用されるメソッドではサポートされていません。代わりに%f(マイクロ秒)を使用してください:

datetime.strptime(row[1], "%Y-%m-%d %H:%M:%S.%f")
于 2012-08-21T15:47:07.833 に答える