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

Bdf*_*dfy 60 python

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

格式化当前日期:

29.08.2011 11:05:02
Run Code Online (Sandbox Code Playgroud)

Pie*_*ave 88

应该这样做

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
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于您服务器的时区. (7认同)
  • 由于正在使用 mktime,这是否意味着您应该将返回的纪元调整为 UTC? (5认同)

小智 17

如果"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
Run Code Online (Sandbox Code Playgroud)


Pau*_*aul 12

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

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


Mal*_*Mal 5

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