Мне нужна функция для проверки, является ли содержимое переменной допустимой меткой времени Unix.
Я проверил эту тему: Проверьте, является ли строка меткой времени Unix , но проблема в том, что функция в ответе с наибольшим количеством голосов все еще может вызвать некоторые ошибки, например:
function is_timestamp($timestamp)
{
return ((string) (int) $timestamp === $timestamp)
&& ($timestamp <= PHP_INT_MAX)
&& ($timestamp >= ~PHP_INT_MAX);
}
// Some tests:
$timestamp = 1289216307;
var_dump(is_timestamp($timestamp));
var_dump(date('Y-m-d', $timestamp));
// result
bool(false)
string(10) "2010-11-08"
$timestamp = '20101108';
var_dump(is_timestamp($timestamp));
var_dump(date('Y-m-d', $timestamp));
// result
bool(true)
string(10) "1970-08-21"
Здесь первое должно быть ИСТИНА , а второе должно быть ЛОЖЬ Итак, как лучше всего проверить, является ли $var
действительно действительной меткой времени Unix?