Tofauti ya Enzi katika Python
Kutofautisha kati ya enzi maalum
kunaweza kufanyika kwa kubadilisha kitu struct_time
kuwa sekunde kwa kutumia mbinu mktime ya moduli
time.
Wacha tupate tofauti kati ya wakati wa sasa
uliobainishwa kwa umbizo la epoch
na tarehe '11/12/2023 19:25'. Kwanza
tunapata epoch kwa kutumia mbinu time:
now = time.time()
Kisha tubadilishe tarehe iliyobainishwa kwa mbinu
strptime. Kwenye kigezo cha kwanza
tunaweka tarehe, kwenye kigezo cha pili - umbizo lake:
dt = time.strptime('11/12/2023 19:25', '%d/%m/%Y %H:%M')
print(dt)
Kama matokeo tutapata kitu 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)
Ifuatayo tubadilishe struct_time kuwa
sekunde kwa mbinu mktime na kuweka
matokeo kwenye kigezo dt_epoch.
Baada ya hayo tunapata tofauti kati ya enzi
ya sasa na dt_epoch. Msimbo kamili utakuwa
hivi:
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) # itatoa 7937111.23894763
Ili kupata idadi ya dakika kutoka kwa matokeo haya,
inahitajika kugawanya kwa
60:
print(res / 60) # itatoa 132299.33016448814
Imetolewa tarehe:
dt = '24/07/2015 16:1'
Tafuta idadi ya sekunde, zilizopita kutoka wakati wa sasa hadi tarehe hii.
Zimetolewa tarehe mbili:
dt1 = '12/02/23 10:12:54'
dt2 = '31/12/24 19:38:21'
Tafuta idadi ya sekunde, zilizopita kati ya tarehe ya pili na ya kwanza.
Badilisha ufumbuzi wa tatizo lilopita ili kupata idadi ya siku, zilizopita kati ya tarehe mbili.