5분 뒤의 유닉스 timestamp 찍는 방법


지금을 기준으로 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
  • 2016년 01월 19일에 작성됨

조회수 270


1 답변


좋아요
0
싫어요
채택취소하기

1. datetime.timestamp() (python 3.3이상)

  • [datetime.timestamp()]은 datetime에 대응하는 POSIX timestampfloat형으로 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로 형 변환
  • 2016년 01월 19일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close