Explore Courses Blog Tutorials Interview Questions
0 votes
in Python by (45.3k points)

I have to create an "Expires" value 5 minutes in the future, but I have to supply it in UNIX Timestamp format. I have this so far, but it seems like a hack.

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 = + five_minutes

    since_epoch = five_minutes_from_now - epoch

    return since_epoch.days * seconds_in_a_day + since_epoch.seconds

Is there a module or function that does the timestamp conversion for me?

1 Answer

0 votes
by (16.8k points)

You can use calendar.timegm:

future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)

return calendar.timegm(future.timetuple())

This is more portable as compared to %s flag to strftime (which does not even work on your windows)

Related questions

Browse Categories