Фарқияти эпохаҳо дар Python
Фарқияти байни эпохаҳои додашударо метавон
бо табдил додани объекти 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
сабт мекунем.
Пас аз он фарқияти байни эпохаи ҷорӣ ва 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'
Миқдори сонияҳое, ки байни санаи дуюм ва аввал гузаштааст, пайдо кунед.
Ҳалли масъалаи гузаштаро тавре тағйир диҳед, ки миқдори рӯзҳои гузашта байни ду санаро пайдо кунед.