Python да эпохлар айирмаси
Берилган эпохлар ўртасидаги айирмани
struct_time объектини
time модулининг mktime
методи ёрдамида секундга айлантириш орқали
аниқлаш мумкин.
Энди epoch форматида берилган ҳозирги
вақт нуқтаси билан '11/12/2023 19:25'
санаси ўртасидаги айирмани топамиз. Аввало
time методи ёрдамида epoch ни оламиз:
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 ўзгарувчисига
ёзамиз. Шундан сўнг ҳозирги эпоха билан
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'
Иккинчи ва биринчи саналар ўртасидаги вақтдаги секундлар сонини топинг.
Олдинги масаланинг ечимини икки сана ўртасидаги кунлар сонини топиш учун модификация қилинг.