CTF 문제에서 타임스탬프 변환이 자주 나와서 필요 내용을 정리한다.
from datetime import datetime
import time
def tsToDs(ts):
#timestamp to datetime
return datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
def dsToTs(ds):
#datetime to timestamp
obj_datetime = datetime.strptime(ds, '%Y-%m-%d %H:%M:%S')
return int(time.mktime(obj_datetime.timetuple()))
특정 날짜의 mongodb obj 값을 구할 때 사용한다.
아래의 코드처럼 시작 날짜와 구하려는 날짜의 string 값을 전달해줘야 한다.
CTF 문제로 종종 출제되서 남겨놓는다.
strs = '5e70da94d7b1600013655bb5'
ts = int(strs[:8],16)
def tsToDs(ts):
#timestamp to datetime
return datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
def dsToTs(ds):
#datetime to timestamp
obj_datetime = datetime.strptime(ds, '%Y-%m-%d %H:%M:%S')
return int(time.mktime(obj_datetime.timetuple()))
def getDifDs(end, start):
#parameter format: 2020-03-17 07:11:32
ts = dsToTs(end)
ts2 = dsToTs(start)
return ts - ts2
start = '2020-03-17 14:11:32'
dif_flag1 = getDifDs('2020-05-21 09:13:22', start)
dif_flag2 = getDifDs('2020-04-13 15:50:18', start)