8

I would like to convert a Python date object to a Unix timestamp.

I already added a time object, so it would be that specific date at midnight, but I don't know how to continue from there.

d = date(2014, 10, 27)
t = time(0, 0, 0)
dt = datetime.combine(d, t)

#How to convert this to Unix timestamp?

I am using Python 2.7

1

4 Answers 4

16

You can get the unix time like this:

import time
from datetime import date

d = date(2014, 10, 27)

unixtime = time.mktime(d.timetuple())
Sign up to request clarification or add additional context in comments.

2 Comments

mktime() accepts the time in the local timezone. It may fail.
unixtime = int(time.mktime(d.timetuple())) ... no decimal.
5

Unix time can be derived from a datetime object like this:

d = date(2014, 10, 27)
t = time(0, 0, 0)
dt = datetime.combine(d, t) 

unix = dt.strftime('%s')
# returns 1414364400, which is 2014-10-27 00:00:00 

1 Comment

'%s' is not supported by Python. It is not portable.
1

You can use easy_date to make it easy:

import date_converter
timestamp = date_converter.date_to_timestamp(d)

Comments

-2
>>> import datetime
>>> d = datetime.date(2014, 10, 27)
>>> int("{:%s}".format(d))
1414364400
>>> datetime.datetime.fromtimestamp(1414364400)
datetime.datetime(2014, 10, 27, 0, 0)

Please note that %s formatting of times is not supported on Windows.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.