Ich dachte, es wäre nützlich, ein Skript zu haben, das automatisch das Datum der Anwesenheitsverwaltung eingibt. Ich habe das Folgende mit strptime von Pythons datetime-Modul geschrieben.
Kinkyu.py
input_date = input('Bitte geben Sie das zu erstellende Jahr und den Monat ein(Beispiel:201608):')
try:
month_first = datetime.datetime.strptime(input_date, '%Y%m')
except ValueError:
input('Geben Sie das Jahr und den Monat als 201608 ein.')
sys.exit()
Bei der Eingabe von Jahr und Monat tritt dann der folgende Fehler auf.
month_first = datetime.datetime.strptime(input_date, '%y%m')
TypeError: must be string, not int
Das? Ich dachte und sah nach Anscheinend ist das erste Argument von strptime eine Zeichenkette. Sie können keine Zahlen verwenden ...
Wenn der int-Typ NG ist, warum nicht in einen String-Typ konvertieren? ich dachte Ich habe es wie folgt geändert.
Kinkyu.py
input_date = input('Bitte geben Sie das zu erstellende Jahr und den Monat ein(Beispiel:201608):')
input_date = str(input_date) #Änderungen: Konvertieren Sie Zahlen in Zeichenfolgen
try:
month_first = datetime.datetime.strptime(input_date, '%Y%m')
except ValueError:
input('Geben Sie das Jahr und den Monat als 201608 ein.')
sys.exit()
Das ist die Lösung. Die Typkonvertierung ist mit Python einfach.
8.1. Datetime - Grundlegende Datums- und Zeittypen (aus der Python-Standardbibliothek) https://docs.python.jp/3/library/datetime.html
Generieren Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3). http://qiita.com/BarutanGNE/items/b14bef93c004f90c0ce4