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

조회수 3751회

지금을 기준으로 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 답변

  • 좋아요

    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로 형 변환
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)