Ich habe Zeichenfolgen, die ein Datum im folgenden Format anzeigen:
%Vor%Ich muss das mit python zu einem Datetime analysieren.
Es scheint, dass dateutil das nicht kann.
Gibt es einen Weg, es zu tun?
Dies kann einfach mit timedelta
s:
Produzieren:
%Vor%Dies erfordert zwar zusätzliche Arbeit, um mit Monaten / Jahren fertig zu werden - das Hinzufügen eines Monats zu einem Datum ist eine mehrdeutige Operation, aber es sollte eine einfache Ergänzung sein, wenn Sie wissen, was Sie damit meinen wollen.
Um eine tatsächliche Zeit zu erhalten, nehmen Sie einfach das Delta von datetime.datetime.now()
.
Da deine Argumente vor ungefähr 2 Tagen, vor 3 Monaten, vor 2 Jahren sind. Die folgende Funktion könnte hilfreich sein, um das genaue Datum für die Argumente zu erhalten. Sie müssen zuerst die folgenden Datumswerte importieren:
%Vor%Dann implementieren Sie die Funktion unter
%Vor%Sie können die Funktion dann wie folgt aufrufen:
%Vor%völlig übertriebene Lösung, aber ich brauchte etwas flexibler:
%Vor%Dies kann Dinge analysieren wie:
2 days ago
in 60 seconds
2 DAY and 4 Secs
in 1 year, 1 Month, 2 days and 4 MICRO
2 Weeks 4 secs ago
7 millis ago
Ein riesiges aber : Es vereinfacht Monat und Jahr auf 30 bzw. 365 Tage. Nicht immer was du willst, obwohl es für einige Fälle reicht.