Die im WEB gescrappten Datumsdaten sind eine Zeichenfolge (str).
Konvertieren Sie die Zeichenfolge in ein Datum, um die erfassten Daten als Datumsdaten in der DB zu speichern.
Verwenden Sie die strptime-Methode des datetime-Moduls.
python
import datetime as dt
Keine Definition
import datetime
datetime.datetime.now()
#Es ist notwendig, den Modulnamen am Anfang vollständig zu beschreiben
Mit Definition
import datetime
dt.datetime.now()
#Der Modulname am Anfang kann abgekürzt werden
** Verwendung von strptime ('A', 'B') ** -Match "A-Zeichenfolge" und "B-Format".
Beispiel 1(0 nicht gefüllt)
A:「2019-1-9」
B:「%Y-%m-%d」
dt.datetime.strptime('2019-1-9','%y-%m-%d')
#Ausgabe
datetime.datetime(2019, 1, 9, 0, 0)
% Y: 4 Stellen im Kalender % m: Monat (Der Monat der Zeichenfolge kann mit 0 aufgefüllt werden oder nicht) % d: Tag (Der Monat der Zeichenkette kann mit 0 aufgefüllt werden oder nicht)
Beispiel 2(0 gepolstert)
A:「19-05-08」
B:「%y-%m-%d」
dt.datetime.strptime('19-05-08','%y-%m-%d')
#Ausgabe
datetime.datetime(2019, 5, 8, 0, 0)
% y: 2 Stellen (niedriger) % m,% d: 0 Unterstützt sowohl mit als auch ohne Polsterung
Beispiel 3(Datum)
A: "8. Mai 2019"
B:「%Y Jahr%m Monat%d Tag "
dt.datetime.strptime('8. Mai 2019','%Y Jahr%m Monat%d Tag')
#Ausgabe
datetime.datetime(2019, 5, 8, 0, 0)
Beispiel 4(Entsprechung zwischen Zeichenketten und numerischen Werten)
A: "Morgen ist der 8. Mai. Das Jahr ist 2019."
B: "Das Datum von morgen ist%m Monat%d Tage. Jahr ist%Y Jahr "
dt.datetime.strptime('Morgen ist der 8. Mai. Das Jahr ist 2019','Das Datum von morgen ist%m Monat%d Tage. Jahr ist%Y Jahr')
#Ausgabe
datetime.datetime(2019, 5, 8, 0, 0)
・ Termine sind nicht in Ordnung
Beispiel 5(Variable)
A:「past」:'2019/3/23'
B:「%Y/%m/%d」
past= '2019/3/23'
dt.datetime.strptime(past,'%Y/%m/%d')
#Ausgabe
datetime.datetime(2019, 3, 23, 0, 0)
Fehler beim Zitieren von Variablen ValueError: time data 'past' does not match format '%Y/%m/%d'
Beispiel 6(Zeit,Protokoll,Einschließlich Sekunden)
A:「future」:'23. März 2030 5:21:42 123456 Mikrosekunden'
B:「%Y Jahr%m Monat%d Tag%Uhr%M Minuten%S Sekunden%f Mikrosekunden "
past= '2019/3/23'
dt.datetime.strptime(future, '%Y Jahr%m Monat%d Tag%Uhr%M Minuten%S Sekunden%f Mikrosekunden')
#Ausgabe
datetime.datetime(2030, 3, 23, 5, 21, 42, 123456)
% H: Zeit (24 Stunden Notation) % M: Minuten % S: Sekunden % f: Mikrosekunden
Code
dt.datetime.now()
#Ausgabe
# datetime.datetime(2020, 3, 23, 0, 18, 1, 735003)
Erstens war es ein Fehler zu glauben, dass "datetime.datetime.now ()" in drei Teile unterteilt war: "①datetime", "②.datetime" und "③now ()".
Richtig ist es in zwei Teile unterteilt: "(1) datetime.datetime" und "(2) now ()".
Die Syntax für die Verwendung der Methode lautet "Objekt". "Methode". Sie sieht also folgendermaßen aus:
Objekt
: ① datetime.datetime
Methode
: ② jetzt ()
Fügen Sie eine Entität in das Objekt ein.
** <Beispiel einer Entität> ** -Zugeordnete Variable (zB a = 3) ・ Instanz (verkörperte Klasse)
→ datetime.datetime ist eine Instanz
Es ist schwer zu verstehen, wenn Sie sich nur "datetime.datetime" ansehen, aber es gibt andere Typen.
datetime.date
: Datum
datetime.time
: Zeit
datetime.timedelta
: Unterschied
datetime.tzinfo
: Zeitzoneninformationen
Eine solche
▶「datetime.datetime.now()」
datetime.datetime
ist eine Sammlung von Funktionen, die sich auf" Datum und Uhrzeit "beziehen.
Die Methode now ()
ruft die in datetime.datetime
definierte Funktion now () auf.
▶「datetime.date.now()」
** Error **.
datetime.date
ist eine Sammlung von Funktionen, die sich auf" time "beziehen. Die Funktion now ()
ist hier nicht definiert.
▶「datetime.time.today()」 Sie können dies verwenden. Eine Funktion namens "today ()" ist in der Klasse "datetime.date" definiert.
--Mehrere Klassen werden im datetime-Modul definiert.
datetime.time.today() datetime.datetime.today()
Recommended Posts