如何将当前日期转换为纪元时间戳?

时间:2011-08-30 09:29:36

标签: python

如何将当前日期转换为纪元时间戳?

格式化当前日期:

29.08.2011 11:05:02

9 个答案:

答案 0 :(得分:84)

应该这样做

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

答案 1 :(得分:15)

如果' 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

答案 2 :(得分:12)

假设您使用24小时时间格式:

import time;
t = time.mktime(time.strptime("29.08.2011 11:05:02", "%d.%m.%Y %H:%M:%S"));

答案 3 :(得分:5)

import time
def expires():
    '''return a UNIX style timestamp representing 5 minutes from now'''
    return int(time.time()+300)

答案 4 :(得分:2)

使用strptime来解析时间,并在其上调用time()以获取Unix时间戳。

答案 5 :(得分:2)

如果你想要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

答案 6 :(得分:1)

快捷方式可将python日期/日期时间转换为Epoch (无微秒)

int(current_date.strftime("%s")) # 2020-01-14  ---> 1578956400
int(current_datetime.strftime("%s")) # 2020-01-14 16:59:30.251176 -----> 1579017570

答案 7 :(得分:0)

我认为此答案需要更新,这样解决方案会更好。

from datetime import datetime

datetime.strptime("29.08.2011 11:05:02", "%d.%m.%Y %H:%M:%S").strftime("%s")

或者您可以使用datetime对象,并使用%s格式化时间以将其转换为纪元时间。

答案 8 :(得分:0)

from time import time
>>> int(time())
1542449530


>>> time()
1542449527.6991141
>>> int(time())
1542449530
>>> str(time()).replace(".","")
'154244967282'

但是它不应该返回吗?

'15424495276991141'