5분 뒤의 유닉스 timestamp 찍는 방법
조회수 3775회
지금을 기준으로 5분 뒤의 유닉스 timestamp를 return해 주는 expires()
함수를 만들고 있습니다.
어떻게 해야 할지를 몰라서 C++같이 만들었는데
좀 더 파이썬스러운 방법이 있을까요?
관련된 모듈이랑 함수를 아시는 분 있으면 도와주세요
소스코드
def expires():
'''return a UNIX style timestamp representing 5 minutes from now'''
epoch = datetime.datetime(1970, 1, 1)
seconds_in_a_day = 60 * 60 * 24
five_minutes = datetime.timedelta(seconds=5*60)
five_minutes_from_now = datetime.datetime.now() + five_minutes
since_epoch = five_minutes_from_now - epoch
return since_epoch.days * seconds_in_a_day + since_epoch.seconds
1 답변
-
1. datetime.timestamp() (python 3.3이상)
- [datetime.timestamp()]은
datetime
에 대응하는POSIX timestamp
를float
형으로 return해 줍니다.
import datetime def expires(): current_time = datetime.datetime.now(datetime.timezone.utc) unix_timestamp = current_time.timestamp() # 파이썬 3.3 이상에서만 지원 unix_timestamp_plus_5_min = unix_timestamp + (5 * 60) # 5분*60 초
2. calendar.timegm(tuple)
*time tuple을 인자로 받아 대응하는 POSIX timestamp 값을
int
형으로 return 해 줍니다.import calendar import datetime def expires(): future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5) calendar.timegm(future.timetuple())
3. 가장 짧은 방법
import time def expires(): return int(time.time()+300) #현재 시간에서 300(5분*60초)을 더한 값을 int로 형 변환
- [datetime.timestamp()]은
댓글 입력