How to get last hour data

Hi,

I need to get the last hour from “Action_time” column of an excel file of today’s date.
format should be fixed.

You have to change time and date when you contruct code.
for ur refrence i am giving the file.
New Microsoft Excel Worksheet (2).xlsx (12.4 KB)
here in this file u see the output sheet from that u will understand what I am trying to say.

let’s take some example: suppose today’s date is 24-11-2022 and the time is 7.05 pm
here I am downloading the file from browser in which I which date time column where I have to filter last hour data i.e. (6 pm to 7pm) date will be today’s date.

1 Like

Hi,

How about the following sample?

dt = dt.AsEnumerable.Where(Function(r) DateTime.Parse(r("Action_time").ToString)>=currentDateTime.Date.AddHours(currentDateTime.Hour-1) AndAlso DateTime.Parse(r("Action_time").ToString)<currentDateTime.Date.AddHours(currentDateTime.Hour)).CopyToDataTable()

Sample20221124-4aL.zip (12.5 KB)

Regards,

1 Like

can u please tell me why u use this “New DateTime(2022,11,24,19,5,0)”

1 Like

Hi,

This is for your assumption.

suppose today’s date is 24-11-2022 and the time is 7.05 pm

In actual use, it should be Now instead of New DateTime(2022,11,24,19,5,0)

Regards,

ok
I’ll try in my code

I am doing this “CDate(Now.ToString(“dd-MM-yyyy”))

what I am doing wrong
please tell me

Hi,

Can you try to modify as the following?

CurrentDateTime = Now

Then use same expression.

dt = dt.AsEnumerable.Where(Function(r) DateTime.Parse(r("Action_time").ToString)>=currentDateTime.Date.AddHours(currentDateTime.Hour-1) AndAlso DateTime.Parse(r("Action_time").ToString)<currentDateTime.Date.AddHours(currentDateTime.Hour)).CopyToDataTable()

Regards,

1 Like

when I am doing CurrentDateTime = Now it shown an error in your code as well as in my code.

HI,

Can you share screenshot of the error?

Regards,

Assign: The source contains no DataRows.

1 Like

Hi,

This mean there is no row as filter result.
The above expression assumes there is one or more rows as result.
Can you try as the following?

Please replace .CopyToDataTable with .ToArray

arrDr = dt.AsEnumerable.Where(Function(r) DateTime.Parse(r("Action_time").ToString)>=currentDateTime.Date.AddHours(currentDateTime.Hour-1) AndAlso DateTime.Parse(r("Action_time").ToString)<currentDateTime.Date.AddHours(currentDateTime.Hour)).ToArray()

Then check arrDr.Any() using If activity

note: arrDR is dataRow array type.

Regards,

Nothing Happen

here is the Xaml file.
Sample20221124-4aL.zip (19.1 KB)

Hi,

In my environment, it works well as the following.
(I modified now to currentDateTime = New DateTime(2022,11,25,16,30,0) because current local time is 23:40 in my place.

Can you try again and check your input file if there is rows which should be extracted?

Regards,

1 Like

I did not get the solution yet of that problem so please help me

1 Like

HI,

Can you share your latest sample data?

Regards,

New Microsoft Excel Worksheet (2).xlsx (10.9 KB)

Hi @Lakshya_Garg2

May I know that is your output time changing from 13 to 14?

cheers

Hi,

I’d like confirm the following is same as what you expect.

As input data is 2022/10/25, target date is set as 2022/10/25 15:10:00 as the following.

Then the following is result data. Is this what you expect?

If you need to filter it as actual current time, please modify it like Now instead of New DateTime(2022,10,25,15,10,0)

Sample20221124-4aL.zip (22.2 KB)

Regards,

yes u can change time according to ur system time