Another question - what is the correct way of creating a constant Scalar that represents a time64 from a string in C++ (e.g. "10:00:00") ?
I am trying to use cp::literal(arrow::MakeScalar(...)) but not sure what to fill in the body of MakeScalar On Mon, Feb 7, 2022 at 12:05 PM Li Jin <ice.xell...@gmail.com> wrote: > Hello, > > Did some more work on this. Follow up question on this: > > I am doing a > > {cp::call("cast", > > {cp::field_ref("time_ns")}, > > cp::CastOptions::Safe(arrow::timestamp(arrow::TimeUnit::NANO, timezone)))}, > > And got: > > NotImplemented: Unsupported cast from uint64 to timestamp using function > cast_timestamp > > Is this the wrong way to convert uint64 to timestamp or is it just not > supported right now? > > On Thu, Feb 3, 2022 at 12:29 PM Rok Mihevc <rok.mih...@gmail.com> wrote: > >> By the way - if you're extracting components to segment time you might >> prefer temporal rounding >> >> https://arrow.apache.org/docs/dev/cpp/compute.html?highlight=floor_temporal#conversions >> . >> >> On Thu, Feb 3, 2022 at 5:19 PM Li Jin <ice.xell...@gmail.com> wrote: >> > >> > Gotcha. Thanks for the pointer! >> > >> > On Thu, Feb 3, 2022 at 11:06 AM Rok Mihevc <rok.mih...@gmail.com> >> wrote: >> > >> > > > Gotcha. "Assume timezone" is like "tz_localize" in pandas. >> > > >> > > Indeed! >> > > >> > > > I didn't see any target timezone information being passed in the >> "cast" >> > > > function - how would I do that? >> > > >> > > Just cast with: >> > > auto options = CastOptions::Safe(timestamp(TimeUnit::NANO, >> > > "America/New_York")); >> > > See examples in: >> > > >> > > >> https://github.com/apache/arrow/blob/master/cpp/src/arrow/compute/kernels/scalar_cast_test.cc >> > > >> >