[ https://issues.apache.org/jira/browse/ARROW-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16220912#comment-16220912 ]
ASF GitHub Bot commented on ARROW-1730: --------------------------------------- wesm commented on a change in pull request #1256: ARROW-1730, ARROW-1738: [Python] Fix wrong datetime conversion URL: https://github.com/apache/arrow/pull/1256#discussion_r147221502 ########## File path: cpp/src/arrow/python/builtin_convert.cc ########## @@ -522,18 +522,49 @@ class UInt64Converter : public TypedConverterVisitor<UInt64Builder, UInt64Conver class DateConverter : public TypedConverterVisitor<Date64Builder, DateConverter> { public: inline Status AppendItem(const OwnedRef& item) { - auto pydate = reinterpret_cast<PyDateTime_Date*>(item.obj()); - return typed_builder_->Append(PyDate_to_ms(pydate)); + int64_t t; + if (PyDate_Check(item.obj())) { + auto pydate = reinterpret_cast<PyDateTime_Date*>(item.obj()); + t = PyDate_to_ms(pydate); + } else { + t = static_cast<int64_t>(PyLong_AsLongLong(item.obj())); Review comment: adding `RETURN_IF_PYERROR();` after this line is probably adequate error checking, then no further type checking is needed in the else ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Python] Incorrect result from pyarrow.array when passing timestamp type > ------------------------------------------------------------------------ > > Key: ARROW-1730 > URL: https://issues.apache.org/jira/browse/ARROW-1730 > Project: Apache Arrow > Issue Type: Bug > Components: Python > Reporter: Wes McKinney > Assignee: Licht Takeuchi > Labels: pull-request-available > Fix For: 0.8.0 > > > Even with the ARROW-1484 patch, we have: > {code: language=python} > In [10]: pa.array([0], type=pa.timestamp('ns')) > Out[10]: > <pyarrow.lib.TimestampArray object at 0x7f9145b27098> > [ > Timestamp('1968-01-12 11:18:14.409378304') > ] > In [11]: pa.array([0], type='int64').cast(pa.timestamp('ns')) > Out[11]: > <pyarrow.lib.TimestampArray object at 0x7f9145b27d18> > [ > Timestamp('1970-01-01 00:00:00') > ] > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)