Chênh lệch epoch trong Python
Có thể xác định chênh lệch giữa các epoch đã cho
bằng cách chuyển đổi đối tượng struct_time
thành giây bằng phương thức mktime của module
time.
Hãy tìm sự khác biệt giữa thời điểm hiện tại,
được cho ở định dạng epoch
và ngày '11/12/2023 19:25'. Đầu tiên
lấy epoch bằng phương thức time:
now = time.time()
Sau đó chuyển đổi ngày đã cho bằng phương thức
strptime. Trong tham số đầu tiên của nó
viết ngày, trong tham số thứ hai - định dạng của nó:
dt = time.strptime('11/12/2023 19:25', '%d/%m/%Y %H:%M')
print(dt)
Kết quả là chúng ta sẽ nhận được đối tượng 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)
Tiếp theo, chuyển đổi struct_time thành
giây bằng phương thức mktime và ghi
kết quả vào biến dt_epoch.
Sau đó tìm sự khác biệt giữa epoch hiện tại
và dt_epoch. Mã đầy đủ sẽ
trông như thế này:
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) # sẽ hiển thị 7937111.23894763
Để nhận được số phút từ kết quả này,
cần chia nó cho
60:
print(res / 60) # sẽ hiển thị 132299.33016448814
Cho ngày:
dt = '24/07/2015 16:1'
Tìm số giây đã trôi qua từ thời điểm hiện tại đến ngày này.
Cho hai ngày:
dt1 = '12/02/23 10:12:54'
dt2 = '31/12/24 19:38:21'
Tìm số giây đã trôi qua giữa ngày thứ hai và ngày thứ nhất.
Hãy sửa đổi giải pháp của bài toán trước để tìm số ngày đã trôi qua giữa hai ngày.