2016-11-11 16 views
0

ich ein Python-Code schreibe Benutzereingabe für ein Datum für die Annahme:Typeerror: strptime() Argument 1 muss String sein, nicht Tupel

from datetime import datetime 
import time 
time_input = str(raw_input("Please enter the time in HH:MM:SS format: ")) 
current_date = str(raw_input("Please enter the date in YYYY/MM/DD format:")) 
selected_time = datetime.strptime((current_date, time_input),"%Y/%m/%d %H:%M:%S.%f") 
print "Time selected: ",selected_time 

Ich erhalte einen Fehler auf dieser Linie:
selected_time = datetime.strptime((current_date, time_input),"%Y/%m/%d %H:% M:%S.%f")

TypeError: strptime() argument 1 must be string, not tuple

+0

Kurz: mehrere Argumente sind nicht automatisch verkettet. – TigerhawkT3

Antwort

0

wie der Fehler zeigt

TypeError: strptime() argument 1 must be string, not tuple

selected_time = datetime.strptime((current_date, time_input),"%Y/%m/%d %H:%M:%S.%f") 

Das erste Argument soll eine Zeichenkette sein, aber Sie übergeben (current_date, time_input), die ein Tupel ist.

Da Sie Eingabe akzeptiert werden separat für Datum und Uhrzeit, können Sie sie '%s %s' % (current_date, time_input) mit verbinden und es dann zu datetime.strptime wie folgt über

selected_time = datetime.strptime( 
    '%s %s' % (current_date, time_input), # first argument is now a string 
     "%Y/%m/%d %H:%M:%S.%f", 
) 
+0

Ich habe versucht mit Ihrer Lösung, aber es gibt mir einen anderen Fehler AttributeError: 'method_descriptor' Objekt hat kein Attribut 'strptime' –

+0

Danke für Ihre Hilfe es funktioniert jetzt. Nachstehend ist der korrigierte Code selected_time = datetime.strptime ('% s % s '% (aktuelles_Datum, zeit_Eingang), "% Y /% m /% d% H:% M:% S") –

Verwandte Themen