Skip to Content
0

Calculate date difference in SDK

Mar 02, 2017 at 03:50 AM

175

avatar image

Hello gurus,

I have to calculate difference between two dates in activities (Activity XBO): start date and end date.

This is what I have in the task:

This is how i see the data in debug mode for these fields:

this.ScheduledStartDate = 2016-12-14 (Date)

this.ScheduledEndDate = 2017-01-15 (Date)

this.ScheduledStartDateTime = 2016-12-14T12:30:00Z UTC BASIS.Global:LOCALNORMALISED_DateTime (GLOBAL_DateTime)

this.ScheduledEndDateTime = 2017-01-15T12:00:00Z UTC BASIS.Global:LOCALNORMALISED_DateTime (GLOBAL_DateTime)

Now, the difference of the dates is 32 (Delta between Dec 14th and Jan 15th). But when i use the following, the difference comes as 31

this.ScheduledEndDate.Delta(this.ScheduledStartDate).ConvertToDays()

I tried other options of converting to global date time etc but i always get 31 and not 32. I know i am missing something. Any help is appreciated.

thanks

Mahesh

10 |10000 characters needed characters left characters exceeded

Bumping...

0
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
Fred K Mar 06, 2017 at 05:21 AM
1

Hi Mahesh,

It seems duration.ConvertToDays() returns 30 days for 1M.

this.ScheduledEndDate.Delta(this.ScheduledStartDate) returns P1M1D.

ConverToDays() returns 31 days (30 days for 1M plus 1 day for 1D).

Luckily, there is another parameter you can pass to the Delta() method.

The following will return the duration in days.

var duration = this.StartDate.Delta(this.EndDate,true); // this will return 32 in your case

Best Regards,

Fred

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Thanks Fred. This worked for me.

1