strtotime()
是 PHP 中的一個(gè)非常有用的函數(shù),它可以將任何英文文本的日期時(shí)間描述解析為 Unix 時(shí)間戳。然而,如果輸入的日期時(shí)間字符串不符合標(biāo)準(zhǔn)的格式,strtotime()
可能會(huì)返回 false
,這可能導(dǎo)致程序出錯(cuò)。
為了處理非法輸入,你可以使用以下方法:
try-catch
語(yǔ)句捕獲異常:function safe_strtotime($date) {
try {
$timestamp = strtotime($date);
if ($timestamp === false) {
throw new Exception("Invalid date format");
}
return $timestamp;
} catch (Exception $e) {
// 處理異常,例如記錄錯(cuò)誤或返回默認(rèn)值
echo "Error: " . $e->getMessage();
return null;
}
}
$date = "Invalid date";
$timestamp = safe_strtotime($date);
if ($timestamp !== null) {
echo "The timestamp is: " . $timestamp;
}
date_create_from_format()
函數(shù)檢查日期格式:function safe_strtotime($date, $default_format = 'Y-m-d') {
$format = date_create_from_format($default_format, $date);
if (!$format) {
return false;
}
return strtotime($date);
}
$date = "Invalid date";
$timestamp = safe_strtotime($date);
if ($timestamp !== false) {
echo "The timestamp is: " . $timestamp;
} else {
// 處理非法輸入,例如記錄錯(cuò)誤或返回默認(rèn)值
echo "Error: Invalid date format";
}
這兩種方法都可以幫助你處理非法輸入,確保你的程序在遇到無(wú)效日期時(shí)間字符串時(shí)不會(huì)出錯(cuò)。