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
>> > >
>>
>

Reply via email to