I'm working on a python c-extension and want to create an instance of python datetime object with a unix timestamp.
On the documentation site ( http://docs.python.org/c-api/datetime.html ) I found the function PyDateTime_FromTimestamp() which returns a new reference based on an input parameter.
The description is as follows: Create and return a new datetime.datetime object given an argument tuple suitable for passing to datetime.datetime.fromtimestamp().
I tried out to call the function with a PyFloat_Object but the function always returns NULL (even if I simply put in 0).
Does somebody have an exa开发者_如何学编程mple how I have to call the function or can give a hint what kind of parameter tuple is required to get it work?
Thanks!
Thank you Ignacio! Sometimes small hints make the solution - here the full working example:
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);
精彩评论