不幸的是,Python C API中似乎没有PyDateTime_FromString()
(相当于例如PyFloat_FromString()
)。如果我必须将日期字符串解析为datetime.datetime
类型,有没有人想出什么是理想的解决方法?
答案 0 :(得分:2)
如果PyDateTime_FromTimestamp
不够,您可以直接调用strptime
之类的任何Python方法:
PyObject *datetimeType = (PyObject *) PyDateTimeAPI->DateTimeType;
PyObject *datetime = PyObject_CallMethod(datetimeType, "strptime", "ss",
"11-11-11 11:11:11", //date_string
"%y-%m-%d %H:%M:%S"); //format
但请记住,PyDateTimeAPI->DateTimeType
不是文档化API的一部分,因此最终可能会在任何时候中断。我用Python版本2.7.9和3.4.2测试了这个。相反,您应该在C代码中执行等效的from datetime import datetime
。