Die Datums- und Uhrzeitangabe von Python verfügt über eine Funktion "strptime ()", die einen Zeichenfolgentyp in einen Datumszeittyp konvertiert, jedoch keine Zeichenfolge konvertieren kann, die nicht mit Nullen aufgefüllt ist. ("2020/04/03" kann konvertiert werden, "2020/4/3" jedoch nicht)
Beachten Sie, dass es eine einfache Alternative gab.
Wenn die volle Breite enthalten ist, machen Sie vor der Ausführung die halbe Breite in voller Breite. Es gibt verschiedene Methoden, wählen Sie also die gewünschte aus.
Verwenden Sie den datetime-Konstruktor anstelle von "strptime ()". https://docs.python.org/ja/3/library/datetime.html#datetime.datetime
class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
import datetime
import re
#Ruft eine Liste der in einer Zeichenfolge enthaltenen Zahlen ab
l = re.findall(r"\d+", text)
#Machen Sie eine Liste von Zeichenfolgen zu einer Liste von Zahlen
l = [int(s) for s in l]
#Geben Sie Datum und Uhrzeit mit dem Konstruktor vom Typ datetime an (erweitern Sie die Liste und übergeben Sie sie).
date = datetime.datetime(*l)
import datetime
import re
text = "2020/4/2"
l = re.findall(r"\d+", text)
# l : ["2020", "4", "2"]
l = [int(s) for s in l]
# l : [2020, 4, 2]
date = datetime.datetime(*l)
# date = datetime.datetime(2020, 4, 2)
Kann für die Konvertierung vom japanischen zum westlichen Kalender verwendet werden (Es ist notwendig, dem "ersten Jahr" zu entsprechen)
import datetime
import re
text = "3. April, 2. Jahr von Reiwa"
diff = 0
if text[:2]=="Reiwa":
diff = 2018
else:
# hoge
pass
l = re.findall(r"\d+", text)
l = [int(s) for s in l]
l[0] += diff
date = datetime.datetime(*l)
Recommended Posts