Vale, pero ahí no quieres validar un UNIX TIMESTAMP, quieres validar un TIMESTAMP. Hay diferencia. En esencia, la palabra "timestamp" signfica marca de tiempo o marca temporal, entonces, puede tener muchas definiciones como es el caso.
Lo más habitual en el mundo de la programación, es que cuando menciones timestamp, te refieras a un UNIX TIMESTAMP que son los segundos que han pasado desde el 1 de Enero de 1970. Sin embargo, cuando en dices TIMESTAMP en bases de datos, y más en MySQL y derivados, quieres decir un formato YYYY-MM-DD HH:MM:SS.
Entonces, aclarada la confusión, usa lo que te ha pasado el compañero @Minusfour:
Aunque yo personalmente le pondría otro nombre para evitar confusiones. xD
Saludos
Lo más habitual en el mundo de la programación, es que cuando menciones timestamp, te refieras a un UNIX TIMESTAMP que son los segundos que han pasado desde el 1 de Enero de 1970. Sin embargo, cuando en dices TIMESTAMP en bases de datos, y más en MySQL y derivados, quieres decir un formato YYYY-MM-DD HH:MM:SS.
Entonces, aclarada la confusión, usa lo que te ha pasado el compañero @Minusfour:
Código (php) [Seleccionar]
function is_timestamp($timestamp, $format = 'Y-m-d H:i:s')
{
$date = DateTime::createFromFormat($format, $timestamp);
return ($date && $date->format($format) === $timestamp);
}
var_dump(is_timestamp('2019-08-20 23:54:59')); // true
var_dump(is_timestamp('85934-fasdfasdf')); // false
Aunque yo personalmente le pondría otro nombre para evitar confusiones. xD
Saludos