文字列を時間に変換して差分取得 - lucen2k/python GitHub Wiki
Sample Source
# Timeout確認
from datetime import datetime as dt
login_time = '2020-09-24 11:00:00'
login_time = dt.strptime(login_time, '%Y-%m-%d %H:%M:%S')
# print(login_time.day) #文字列からdatetimeのObjectに変換確認
now_time = dt.now()
# print(now_time) # 現在の日時取得確認
# print(now_time.day) # それがdatetimeのObjectか確認
# print(now_time - login_time) # その差分確認
TIMEOUT_LIMIT = 60 # 1時間
# 差分
diff = now_time - login_time
print(type(diff))
print(diff)
print(diff.seconds) # 秒
print(diff.seconds/60) # 分に変換
if diff.seconds/60 > TIMEOUT_LIMIT:
print('time over..')
結果
<class 'datetime.timedelta'>
1:26:29.942395
5189
86.48333333333333
time over..
日付や時間の差分取得
Sample Source
def get_diff_time(start_time, type='S'):
start_time = datetime.strptime(str(start_time), '%Y-%m-%d %H:%M:%S')
now_time = datetime.now()
diff = (now_time - start_time)
# print(diff.days)
if type == 'M':
return (diff.days * 24 * 60) + (diff.seconds / 60)
elif type == 'H':
return (diff.days * 24) + (diff.seconds / (60 * 60))
elif type == 'd':
return diff.days + (diff.seconds / (60 * 60 * 24))
return (diff.days * 24 * 60 * 60) + diff.seconds
print(get_diff_time('2020-09-01 15:29:58', 'd'))
print(get_diff_time('2020-09-01 15:29:58', 'H'))
print(get_diff_time('2020-09-01 15:29:58', 'M'))
print(get_diff_time('2020-09-01 15:29:58', 'S'))
結果
<class 'datetime.timedelta'>
23.878506944444446
573.0841666666666
34385.05
2063103