On your system, integers are 64 bits, so there is enough range for counting seconds from the Unix era to 0 AD. Therefore strtotime works as advertised and returns a (very large) negative number. The return value is correct, your expectation is not.
In a 32-bit system, the integer range is sufficient only to cover a period of 68 years, so returning back to about 1970 - 68 = 1902 will return false . Dates between 1902 and 1970 will continue to lead to negative numbers.
source share