参数必须是9项序列,而不是datetime.datetime

Mar*_*gan 3 python time mktime python-datetime

Web应用程序在以下行中突破;

start_time = int(time.mktime(start)) * 1000
Run Code Online (Sandbox Code Playgroud)

错误是TypeError - 参数必须是9项序列,而不是datetime.datetime

如何将datetime.datetime转换为9项序列?

fal*_*tru 11

而不是传递datetime对象目录,使用datetime.timetuple方法:

>>> int(time.mktime(start)) * 1000
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument must be 9-item sequence, not datetime.datetime

>>> int(time.mktime(start.timetuple())) * 1000
1406215043000L
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果你使用Python 3.3+,你不需要使用time.mktime.用途datetime.timestamp:

>>> start.timestamp()
1406215043.0
>>> int(start.timestamp()) * 1000
1406215043000
Run Code Online (Sandbox Code Playgroud)