如何将当前日期转换为Unix时间戳?
格式化当前日期:
29.08.2011 11:05:02
应该就是这样了。
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
如果'TZ'没有设置正确,例如'UTC'或者'Asia/Kolkata',你的代码将表现出奇怪的行为。
因此,你需要执行以下操作:
>>> 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
import time;
t = time.mktime(time.strptime("29.08.2011 11:05:02", "%d.%m.%Y %H:%M:%S"));
import time
def expires():
'''return a UNIX style timestamp representing 5 minutes from now'''
return int(time.time()+300)
from time import time
>>> int(time())
1542449530
>>> time()
1542449527.6991141
>>> int(time())
1542449530
>>> str(time()).replace(".","")
'154244967282'
But Should it not return ?
'15424495276991141'
.timestamp
方法,可以返回相同的结果。 - Andrewint(time())
正是这个问题的答案。我不敢相信在18个月后这个回答还没有赞。 - user1717828如果你想要UTC时间,可以尝试使用一些gm
函数:
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
int(current_date.strftime("%s")) # 2020-01-14 ---> 1578956400
int(current_datetime.strftime("%s")) # 2020-01-14 16:59:30.251176 -----> 1579017570
NameError: name 'current_datetime' is not defined
- Brad Hein