How to convert current date to epoch timestamp ?
Format current date:
29.08.2011 11:05:02
I think this answer needs an update and the solution would go better this way.
from datetime import datetime
datetime.strptime("29.08.2011 11:05:02", "%d.%m.%Y %H:%M:%S").strftime("%s")
or you may use datetime object and format the time using %s to convert it into epoch time.
if you want UTC try some of the gm
functions:
import time
import calendar
date_time = '29.08.2011 11:05:02'
pattern = '%d.%m.%Y %H:%M:%S'
utc_epoch = calendar.timegm(time.strptime(date_time, pattern))
print utc_epoch
from time import time
>>> int(time())
1542449530
>>> time()
1542449527.6991141
>>> int(time())
1542449530
>>> str(time()).replace(".","")
'154244967282'
But Should it not return ?
'15424495276991141'
That should do it
import time
date_time = '29.08.2011 11:05:02'
pattern = '%d.%m.%Y %H:%M:%S'
epoch = int(time.mktime(time.strptime(date_time, pattern)))
print epoch
Your code will behave strange if 'TZ' is not set properly, e.g. 'UTC' or 'Asia/Kolkata'
So, you need to do below
>>> import time, os
>>> d='2014-12-11 00:00:00'
>>> p='%Y-%m-%d %H:%M:%S'
>>> epoch = int(time.mktime(time.strptime(d,p)))
>>> epoch
1418236200
>>> os.environ['TZ']='UTC'
>>> epoch = int(time.mktime(time.strptime(d,p)))
>>> epoch
1418256000
Use strptime to parse the time, and call time() on it to get the Unix timestamp.