On our ARMv6 products, setting the date to 2038 will make date -e return a negative time.
> date 2038-07-07 > date -e -2132932729 >
It all comes down to libc's strftime. It uses long which are 32bit long on arm.
This causes an overflow and explains the negative value.