PYTHON] Convert between string and timestamp

노션으로 옮김·2020년 5월 13일
1

uitility

목록 보기
13/18
post-thumbnail

CTF 문제에서 타임스탬프 변환이 자주 나와서 필요 내용을 정리한다.


module

from datetime import datetime
import time

timestamp to date string

def tsToDs(ts):
    #timestamp to datetime
    return datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')

date string to timestamp

def dsToTs(ds):
    #datetime to timestamp
    obj_datetime = datetime.strptime(ds, '%Y-%m-%d %H:%M:%S')
    return int(time.mktime(obj_datetime.timetuple()))

calculate the mongodb obj value for a specific date

특정 날짜의 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)

0개의 댓글