2017-01-12 1 views
0

Ich habe folgende Fehlermeldung:Zeitdaten nicht mit Format in Python

ValueError: time data 'M/D/Y' does not match format '%m/%d/%Y' 

Aber ich konnte nicht herausfinden, wo das Problem ist ... Hier ist mein Code

def day(M, D, Y): 
    day = datetime.datetime.strptime('M/D/Y', '%m/%d/%Y').strftime('%A') 
    return day 

I habe versucht, day(1, 12, 2017) und day(01, 12, 2017) für Monat verwenden, aber wenn ich 01 verwendet habe ich einen neuen Fehler:

SyntaxError: invalid token 

Antwort

1

In Ihrer Linie,

day = datetime.datetime.strptime('M/D/Y', '%m/%d/%Y').strftime('%A') 

'M/D/Y' ist nur eine Zeichenfolge, können Sie str.format, wie diese

day = datetime.datetime.strptime('{0}/{1}/{2}'.format(M, D, Y), '%m/%d/%Y').strftime('%A') 
0
day = datetime.datetime.strptime('12/22/2017', '%m/%d/%Y').strftime('%A') 
1

Sie machen nicht korrekt Nutzung Ihrer Funktionsparameter verwenden.

Die Parameter M, DY und verwendet werden müssen, um eine Zeichenfolge zu konstruieren, so dass (1, 12, 2017) wird 1/12/2017: day = datetime.datetime.strptime('{0}/{1}/{2}'.format(M, D, Y), '%m/%d/%Y').strftime('%A')

Verwandte Themen