# DATEDIFF() Not Calculating Number of Years Correctly

Using 10/1/2008 as the "HireDate" field, the calculated "Number of Years" returns 9 years when it should clearly be 10 years.

Using 8/1/1988 as the "HireDate" field, the calculated "Number of Years" is 29 years when it should be 30.

Using 11/1/1983 as the "HireDate" field, the calculated "Number of Years" is 34 years when it should be 35 years.

I was thinking about just adding 1 to the year value but then people who have not worked a year yet would show as working for a year.

I really don't know what is happening. Here is the formula:

``````=IF(DATEDIF(HireDate,NOW(),"y")=0,"< year","")&IF(DATEDIF(HireDate,NOW(),"y")=1,"1 year","")&IF(DATEDIF(HireDate,NOW(),"y")>1,DATEDIF(HireDate,NOW(),"y")&" years","")
``````
• Actually when i was finding the years between two dates.....=DATEDIF([Column1], [Column2],"y"). This worked for me. Not sure why it is not working for you. – Ganesh Sanap Oct 1 '18 at 17:31
• Your formula as written also worked for me. I wonder if perhaps the Time portion returned by the NOW() function is messing with your return values (for example, not returning a full 1 for counting today). Have you tried changing the NOW() function to TODAY() instead? – C. Dennett Oct 1 '18 at 17:44
• Using TODAY() instead of NOW() worked! – jarobinson Oct 1 '18 at 17:56
• Please post and accept the answer to your question citing C. Dennett's response. That way the question shows as answered. Thanks! – Chris Fells Oct 1 '18 at 22:34
• This worked, but it's not the root problem. See my answer. – jarobinson Oct 2 '18 at 13:01

``````   =IF(DATEDIF(HireDate, TODAY(),"y")=0,"< year","")&IF(DATEDIF(HireDate, TODAY(),"y")=1,"1 year","")&IF(DATEDIF(HireDate, TODAY(),"y")>1,DATEDIF(HireDate, TODAY(),"y")&" years","")