Διαφορά Epochs σε Python

Μπορούμε να προσδιορίσουμε τη διαφορά μεταξύ δύο δεδομένων epochs μετατρέποντας το αντικείμενο struct_time σε δευτερόλεπτα χρησιμοποιώντας τη μέθοδο mktime της ενότητας time.

Ας βρούμε τη διαφορά μεταξύ της τρέχουσας χρονικής στιγμής, που δίνεται σε μορφή epoch, και της ημερομηνίας '11/12/2023 19:25'. Αρχικά, λαμβάνουμε το epoch χρησιμοποιώντας τη μέθοδο time:

pythonnow = time.time()

Στη συνέχεια, μετατρέπουμε τη δεδομένη ημερομηνία με τη μέθοδο strptime. Στην πρώτη παράμετρο βάζουμε την ημερομηνία, στη δεύτερη παράμετρο - τη μορφή της:

pythondt = time.strptime('11/12/2023 19:25', '%d/%m/%Y %H:%M')
print(dt)

Ως αποτέλεσμα, παίρνουμε το αντικείμενο struct_time:

pythontime.struct_time(tm_year=2023, tm_mon=12,
      tm_mday=11, tm_hour=19, tm_min=25, tm_sec=0,
      tm_wday=0, tm_yday=345, tm_isdst=-1)

Έπειτα, μετατρέπουμε το struct_time σε δευτερόλεπτα με τη μέθοδο mktime και αποθηκεύουμε το αποτέλεσμα στη μεταβλητή dt_epoch. Μετά από αυτό, βρίσκουμε τη διαφορά μεταξύ της τρέχουσας epoch και της dt_epoch. Ο πλήρης κώδικας θα μοιάζει με αυτόν:

pythonnow = time.time()
dt = time.strptime('11/12/2023 19:25', '%d/%m/%Y %H:%M')
dt_epoch = time.mktime(dt)

res = now - dt_epoch
print(res) # θα εμφανίσει 7937111.23894763

Για να πάρουμε από αυτό το αποτέλεσμα τον αριθμό των λεπτών, πρέπει να το διαιρέσουμε με 60:

pythonprint(res / 60) # θα εμφανίσει 132299.33016448814
Задание 1

Δίνεται μια ημερομηνία:

pythondt = '24/07/2015 16:1'

Βρείτε τον αριθμό των δευτερολέπτων που έχουν περάσει από αυτή την ημερομηνία μέχρι την τρέχουσα χρονική στιγμή.

Задание 2

Δίνονται δύο ημερομηνίες:

pythondt1 = '12/02/23 10:12:54'
dt2 = '31/12/24 19:38:21'

Βρείτε τον αριθμό των δευτερολέπτων που πέρασαν μεταξύ της δεύτερης και της πρώτης ημερομηνίας.

Задание 3

Τροποποιήστε τη λύση του προηγούμενου προβλήματος ώστε να βρείτε τον αριθμό των ημερών που πέρασαν μεταξύ των δύο ημερομηνιών.