cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

show the difference of DateDiff as Days, hours and minutes

Hi Comunnity!

I am dealing with something that I am sure must be simple but I've not been able to solve so far, I have two dates, declared as StartDate and EndDate. I need in other Label show the difference as Days, hours and minutes

Example:

I have a StartDate as 14/10/2020 6:00 and the EndDate as 18/10/2020 10:00 and I need in a different label show as:

4 days and 4 hours and 30 minutes

I have been reading several topics about it but still I am not able to solve it.

Can some of you guys give me a hand with this?

I really appreciate your usual help.

1 ACCEPTED SOLUTION

Accepted Solutions

[edited] Good point - apparently when calculating the difference between days the DateDiff function discards the time part - and when calculating the difference in hours it discards the minutes part. We can solve this by calculating the number of days using the hours - and dividing the result by 24 (rounding down), and a similar for the number of hours. This should work for your scenario:

 

With(
    {
        days: RoundDown(DateDiff(startDate; endDate; Hours) / 24; 0);
        hours: Mod(RoundDown(DateDiff(startDate; endDate; Minutes) / 60; 0); 24);
        minutes: Mod(DateDiff(startDate; endDate; Minutes); 60)
    };
    days & " day(s), " & hours & " hour(s) and " & minutes & " minute(s)"
)

 

Hopefully it will work this time 🙂

View solution in original post

4 REPLIES 4
CarlosFigueira
Power Apps
Power Apps

You can use an expression like the one below to get what you need:

 

With(
    {
        days: DateDiff(startDate; endDate; Days);
        hours: Mod(DateDiff(startDate; endDate; Hours); 24);
        minutes: Mod(DateDiff(startDate; endDate; Minutes); 60)
    };
    days & " day(s), " & hours & " hour(s) and " & minutes & " minute(s)"
)

 

The DateDiff function will give you a whole number of <units> that make up the difference between the two dates; since you already have the days, you only need to use the remainder of the number of hours divided by 24 (using the Mod function). Similarly to the number of minutes.

The attached app shows this expression for your scenario. To open it, save it locally, then go to https://create.powerapps.com, select Open -> Browse, and find the file that you saved.

Hope this helps!

Anonymous
Not applicable

@CarlosFigueira 

Thank for your answer, I have check it with your atteched example and its works but I am frustrated as when the hour of the EndDate is lower than the Hour of the StarDate it do not calculate as supposed to be, I have made this screenshoot to explain it better. 

date3

Do you have any idea how to fix it?

Thank you!!


[edited] Good point - apparently when calculating the difference between days the DateDiff function discards the time part - and when calculating the difference in hours it discards the minutes part. We can solve this by calculating the number of days using the hours - and dividing the result by 24 (rounding down), and a similar for the number of hours. This should work for your scenario:

 

With(
    {
        days: RoundDown(DateDiff(startDate; endDate; Hours) / 24; 0);
        hours: Mod(RoundDown(DateDiff(startDate; endDate; Minutes) / 60; 0); 24);
        minutes: Mod(DateDiff(startDate; endDate; Minutes); 60)
    };
    days & " day(s), " & hours & " hour(s) and " & minutes & " minute(s)"
)

 

Hopefully it will work this time 🙂

Anonymous
Not applicable

@CarlosFigueira 

Youre amazing! it works now.

Thank you!!

Helpful resources

Announcements
PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Top Solution Authors
Top Kudoed Authors
Users online (3,494)