Convert Integer to Date in Java
The date field is assumed to be the last day of the given month.


This seems to suggest that you would want to convert 201502 to 2015 Feb 28,
as that's the last day of 2015 Feb.
Your code converts to 2015 Feb 01, I hope that's what you really meant.

Your validation is too weak:


if (intDate &lt; 100000 || intDate &gt; 999999) {
    log.warn("Unable to parse int date {}", intDate);
    return null;
}



So, 999999 is a valid date? The method will convert that to 10007-03-01.

What about 201599? The method will convert that to 2023-03-01. Not so great.

I'd suggest to do the validation after converting to intYear and intMonth.
It will be easier to follow and more logical.

Why does the method take an Integer?
It doesn't make sense, and it makes the method prone to NullPointerException.
(The code will throw when reaching intDate &lt; 100000 in the if condition.)

The conversion to month would be more readable with a modulo:

    int intMonth = intDate % 100;


And the way you set the month is incorrect,
as the second value of result.set is supposed to be a constant like Calendar.JANUARY.
The correct way:

    result.set(Calendar.YEAR, intYear);
    result.set(Calendar.MONTH, intMonth - 1);
    result.set(Calendar.DAY_OF_MONTH, 1);