将python的time.ctime()转换为unix时间戳

时间:2017-09-06 20:32:41

标签: python numpy time unix-timestamp

我正在尝试转换当前时间(' Wed Sep 6 15:31:35 2017'),它将Python3.5返回到Unix时间戳。

time.ctime.astype(np.int64)

我收到此错误:

  

AttributeError:' builtin_function_or_method'对象没有属性' astype'

当我尝试

np.int64(time.ctime())

我明白了:

  

ValueError:对于带有基数10的int()的无效文字:' Wed Sep 6 15:34:08 2017'

3 个答案:

答案 0 :(得分:2)

time.ctime()返回时间的字符串表示

使用模块strptime中的datetime将字符串解析为日期时间对象

import datetime
import time
t = datetime.datetime.strptime(time.ctime(), "%a %b %d %H:%M:%S %Y")
print(t.timestamp()) #1504730409.0

https://docs.python.org/3.6/library/datetime.html#strftime-strptime-behavior

答案 1 :(得分:1)

time.ctime()返回当前时间的字符串表示形式,如time.time()所返回(自纪元以来的秒数)。

你可以剪掉中间人并单独使用time.time(),这会返回秒的浮点表示:

t = int(time.time())

答案 2 :(得分:1)

你可以通过这种方式更容易地做到这一点:

import time
math.floor(time.time())