Διαφορά Epochs σε Python
Μπορούμε να προσδιορίσουμε τη διαφορά μεταξύ δύο δεδομένων epochs
μετατρέποντας το αντικείμενο struct_time
σε δευτερόλεπτα χρησιμοποιώντας τη μέθοδο mktime της ενότητας
time.
Ας βρούμε τη διαφορά μεταξύ της τρέχουσας
χρονικής στιγμής, που δίνεται σε μορφή epoch,
και της ημερομηνίας '11/12/2023 19:25'. Αρχικά,
λαμβάνουμε το epoch χρησιμοποιώντας τη μέθοδο time:
now = time.time()
Στη συνέχεια, μετατρέπουμε τη δεδομένη ημερομηνία με τη μέθοδο
strptime. Στην πρώτη παράμετρο
βάζουμε την ημερομηνία, στη δεύτερη παράμετρο - τη
μορφή της:
dt = time.strptime('11/12/2023 19:25', '%d/%m/%Y %H:%M')
print(dt)
Ως αποτέλεσμα, παίρνουμε το αντικείμενο struct_time:
time.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. Ο πλήρης κώδικας θα
μοιάζει με αυτόν:
now = 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:
print(res / 60) # θα εμφανίσει 132299.33016448814
Δίνεται μια ημερομηνία:
dt = '24/07/2015 16:1'
Βρείτε τον αριθμό των δευτερολέπτων που έχουν περάσει από αυτή την ημερομηνία μέχρι την τρέχουσα χρονική στιγμή.
Δίνονται δύο ημερομηνίες:
dt1 = '12/02/23 10:12:54'
dt2 = '31/12/24 19:38:21'
Βρείτε τον αριθμό των δευτερολέπτων που πέρασαν μεταξύ της δεύτερης και της πρώτης ημερομηνίας.
Τροποποιήστε τη λύση του προηγούμενου προβλήματος ώστε να βρείτε τον αριθμό των ημερών που πέρασαν μεταξύ των δύο ημερομηνιών.