Calculating the difference in time between two date fields


#1

Hey all! I have recently started using Airtable and I have been searching for an answer to this question for too long.
I am attempting to track volunteer hours. I have a form that people will complete every time they have a “shift”. This form asks people when they came in and when they left. I want to create a formula that finds the difference of the End time and the Start time in order to find the total time of their shift.
I have read through several ask the community questions similar to this and tried several formulas; including DATETIME_DIFF. However, nothing seems to be working.
Please help! Thanks in advance.



#2

I am at the point of almost leaving a question in the form that asks for the volunteer to put the duration of their shift. However, I would much rather have airtable do so automatically.


#3

You just need to use commas to separate the parameters you pass into the DATETIME_DIFF() function:

DATETIME_DIFF(
   {End Time},
   {Start Time},
   'hours'
)

#4

image
It’s only giving me -0, I’m not sure why


#5

Nevermind! I used ‘minutes’ instead of hours & it worked! Thank you!!


#6

So you should get hours * 60, and not -0 :thinking:


#7

I had used this formula: 05%20PM And it seemed to be working fine, but now it’s giving me negative results.


So I tried the ‘hours’ * 60 and it gave me an error. 16%20PM Any clue what am I doing wrong?


#8

Yes, you have those Starts after the corresponding Ends, instead of before (they maybe are swapped).

What I meant with ‘hours * 60’ was that, if you expect for instance to get a 6 because your want to get hours, when you specify minutes, the number should be 360, what is 6 multiplied by 60.


#9

SO swapping just swapped which records came out positive/negative. 60 & 360 both gave me errors.


#10

Okay I didn’t realize ‘*360’ had to be written with a comma. So I put the comma & the negatives do not change…


#11

your last post with pictures looks like it did everything correctly, the clock out times were just entered incorrectly(before start time) so you [correctly] got negative numbers.


#13

I just realized that was the issue. Thank you so much for being so responsive!


#14

This was not clear? :thinking:

No, DATETIME_DIFF expect just a unit as the third parameter, you can’t put something like ‘hours * 3600’. Again, it was just a way of explaining that whichever unit you used (hours or minutes), you should get a correct number, and not a -0.

  • If you expect to get 5 hours but you specify minutes as the unit, you’ll get 300, because 5 hours has 300 minutes.
  • If you expect to get 90 minutes but you specify hours as the unit, you’ll get 1.5, because 90 minutes are equal one and a half hour

I can’t believe I am explaining this :sweat_smile: