Python: PyDateTime_FromTimestamp的使用方法

2 投票
1 回答
1586 浏览
提问于 2025-04-17 00:34

我正在做一个Python的C扩展,想用一个Unix时间戳来创建一个Python的日期时间对象。

在文档网站上( http://docs.python.org/c-api/datetime.html ),我找到了一个叫做PyDateTime_FromTimestamp()的函数,它可以根据输入的参数返回一个新的引用。

这个函数的描述是: 根据一个适合传递给datetime.datetime.fromtimestamp()的参数元组,创建并返回一个新的datetime.datetime对象。

我尝试用PyFloat_Object来调用这个函数,但无论我输入什么(即使是0),它总是返回NULL。

有没有人能给我一个示例,告诉我该如何调用这个函数,或者给我一些提示,说明需要什么样的参数元组才能让它正常工作?

谢谢!

1 个回答

4

谢谢你,Ignacio!有时候小提示就能帮助我们找到解决办法——这里有一个完整的可运行示例:

static double doubleValue = 1314761451;  
PyObject *floatObj = NULL;  
PyObject *timeTuple = NULL;  
PyObject *dateTime = NULL;  
floatObj = PyFloat_FromDouble(doubleValue);  
timeTuple = Py_BuildValue("(O)", floatObj);  
dateTime = PyDateTime_FromTimestamp(timeTuple);

撰写回答