在PHP中,使用strtotime()
函数将字符串转换为日期时,如果提供了非法的日期字符串,该函数将返回false
。您可以使用is_string()
和strtotime()
函数检查日期字符串是否有效,并相应地处理非法日期。
例如:
$dateString = "Invalid date string";
if (is_string($dateString)) {
$parsedDate = strtotime($dateString);
if ($parsedDate === false) {
echo "Invalid date string: " . $dateString;
} else {
echo "Parsed date: " . date("Y-m-d", $parsedDate);
}
} else {
echo "Input is not a string.";
}
在这个示例中,我们首先检查输入是否为字符串。如果是字符串,我们尝试使用strtotime()
解析日期。如果解析失败(返回false
),我们输出一条错误消息。如果解析成功,我们将解析后的时间戳转换为日期并输出。如果输入不是字符串,我们输出另一条错误消息。