-3

これは、日付をフォーマットするための私のコードです:

def updateUserDBDates():
    global userDB, currentDate, previousDate, changeInDate

    index = 0
    index2 = 0

    userDB[1] = datetime.strptime("%d-%m-%Y", userDB[0])
    userDB[0] = datetime.today().strftime("%d-%m-%Y")

    saveData()

    currentDate = userDB[0]
    previousDate = userDB[1]
    changeInDate = currentDate - previousDate

そして、私はこのエラーを受け取ります:

  File "/home/nathan/Documents/project001/programFiles/Project 001.py", line 170, in updateUserDBDates
    userDB[1] = datetime.strptime("%d-%m-%Y", userDB[0])
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '%d-%m-%Y' does not match format '28-09-2013'

すべてが正常に動作するはずですが、このエラーの原因は何ですか?また、どうすれば簡単に修正できますか?

4

2 に答える 2

3

datetime.datetime.strptimedate_strformat引数として受け取ります (formatではなくdate_str):

>>> import datetime
>>> datetime.datetime.strptime('28-09-2013', '%d-%m-%Y')
datetime.datetime(2013, 9, 28, 0, 0)
于 2013-09-28T17:24:11.247 に答える
2

の引数の順序strptime()が間違っています。

http://docs.python.org/2/library/datetime.html#datetime.datetime.strptime

于 2013-09-28T17:24:52.717 に答える