Wie sieht man in Python, ob die Datei älter als 3 Monate ist?

7

Ich bin neugierig auf die Manipulation der Zeit in Python. Ich kann das (letzte modifizierte) Alter einer Datei mit der Funktion os.path.getmtime() als solche erhalten:

%Vor%

Ich muss eine Art Test durchführen, um zu sehen, ob diese Zeit innerhalb der letzten drei Monate liegt oder nicht, aber ich bin von allen verfügbaren Zeitoptionen in Python völlig verwirrt.

Kann jemand Einblick geben? Mit freundlichen Grüßen.

    
Luke B 27.04.2011, 03:41
quelle

7 Antworten

2

Wenn Sie die genaue Anzahl der Tage benötigen, können Sie das Modul calendar in Verbindung mit datetime verwenden, z. B.

%Vor%

Und dann füttern Sie das Ergebnis von total_number_of_days() in den Code, den andere für die Datumsarithmetik bereitgestellt haben.

    
A Lee 27.04.2011, 04:25
quelle
19
%Vor%     
Ignacio Vazquez-Abrams 27.04.2011 03:45
quelle
15

Sie können hier ein bisschen Datetime-Arthemimetik aus Gründen der Klarheit verwenden.

%Vor%     
Senthil Kumaran 27.04.2011 04:05
quelle
3

Ich suchte nach etwas ähnlichem und kam zu dieser alternativen Lösung:

%Vor%     
Pavan Gupta 20.10.2015 12:01
quelle
3

Um festzustellen, ob eine Datei älter als 3 Kalendermonate ist, können Sie % co_de verwenden % :

%Vor%

Die genaue Anzahl der Tage in "letzten 3 Monaten" kann in diesem Fall von 90 Tagen abweichen. Wenn Sie stattdessen genau 90 Tage benötigen:

%Vor%

Wenn Sie die Änderungen im lokalen UTC-Offset berücksichtigen möchten, finden Sie unter Finden Sie heraus, ob 24 Stunden zwischen den Datumsangaben vergangen sind - Python .

    
jfs 20.10.2015 14:28
quelle
2

1 Tag = 24 Stunden = 86400 Sekunden. Dann sind 3 Monate ungefähr 90 Tage, was 90 * 86400 Sekunden ist. Sie können diese Informationen verwenden, um Zeit hinzuzufügen / zu subtrahieren. Oder Sie können das Python-Modul datetime für Datumsangaben ausprobieren. (vor allem Timedelta)

    
ghostdog74 27.04.2011 03:45
quelle
0

Dies ist zu wissen, ob ein Datum 3 Monate älter ist

von Datetime-Importdatum, Timedelta time_period = Datum.today () - Datum (2016, 8, 10) & lt; Timedelta (Tage = 120)

    
Balaji D 02.09.2016 07:07
quelle

Tags und Links