strtotime()
是 PHP 中的一個函數,用于將任何英文文本的日期時間描述解析為 Unix 時間戳
在調用 strtotime()
之前,確保輸入不為空。如果為空,可以返回一個錯誤消息或默認值。
$input = ""; // 輸入的日期時間字符串
if ($input === "") {
echo "錯誤:輸入不能為空";
// 或者設置一個默認值
// $timestamp = strtotime("now");
} else {
$timestamp = strtotime($input);
}
@
運算符抑制錯誤:在調用 strtotime()
時,可以使用 @
運算符來抑制錯誤。如果解析失敗,strtotime()
將返回 false
,而不是拋出一個錯誤。
$input = "invalid date"; // 輸入的日期時間字符串
$timestamp = @strtotime($input);
if ($timestamp === false) {
echo "錯誤:無法解析日期時間字符串";
// 或者設置一個默認值
// $timestamp = strtotime("now");
}
你可以使用 set_error_handler()
函數來自定義錯誤處理程序,以便在 strtotime()
解析失敗時執行特定的操作。
function customErrorHandler($errno, $errstr, $errfile, $errline) {
echo "錯誤:無法解析日期時間字符串 - {$errstr}";
}
set_error_handler("customErrorHandler");
$input = "invalid date"; // 輸入的日期時間字符串
$timestamp = strtotime($input);
if ($timestamp === false) {
// 如果需要,可以在這里處理錯誤
}
restore_error_handler(); // 恢復默認錯誤處理程序
請注意,使用這些方法來處理錯誤輸入可能會導致代碼的可讀性降低。因此,在使用它們之前,請確保你了解可能的后果,并確保這種方法適用于你的項目。