Как получить случайную дату между двумя датами?
Ничто не мешает таймстампу быть отрицательным.
$t1 = (new DateTimeImmutable('1900-01-01T00:00:00'))->getTimestamp();
$t2 = (new DateTimeImmutable('1950-01-01T00:00:00'))->getTimestamp();
$t = rand($t1, $t2);
print (new DateTimeImmutable())->setTimestamp($t)->format(DateTimeInterface::RFC3339);
// 1915-10-14T19:08:14+00:00
Для дат меньше 1970 года юзайте юлианский день.