Python-da döwürleriň tapawudy
Berlen döwürler arasyndaky tapawudy
struct_time obyekdini time modulynyň
mktime usuly bilen sekuntlara öwürmek
arkaly kesgitlemek bolýar.
Geliň, häzirki zaman nokadyny, epoch formatynda berlen we
'11/12/2023 19:25' sene bilen tapawudy tapalyň. Ilki bilen
time usuly arkaly epoch-y alyň:
now = time.time()
Soňra berlen senäni strptime usuly bilen öwüriň.
Onuň birinji parametrine senäni, ikinji parametrine bolsa
onuň formatyny ýazyň:
dt = time.strptime('11/12/2023 19:25', '%d/%m/%Y %H:%M')
print(dt)
Netijede biz struct_time obyektini alarys:
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)
Indi struct_time-i mktime usuly bilen
sekuntlara öwüriň we netijäni dt_epoch üýtgeýjisine ýazyň.
Şondan soň häzirki döwür bilen dt_epoch arasyndaky tapawudy tapyň.
Dogry kod şeýle görünýär:
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 çykarar
Bu netijeden minut sanyny almak üçin ony
60-a bölmeli:
print(res / 60) # 132299.33016448814 çykarar
Senä berlen:
dt = '24/07/2015 16:1'
Häzirki zaman nokadyndan bu sene çenli geçen sekuntlaryň sanyny tapyň.
Iki sene berlen:
dt1 = '12/02/23 10:12:54'
dt2 = '31/12/24 19:38:21'
Ikinji sene bilen birinji sene arasynda geçen sekuntlaryň sanyny tapyň.
Öňki meseläniň çözgüdini üýtgediň, şeýlelik bilen iki sene arasynda geçen günleriň sanyny tapyň.