如何在laravel中查看日期字符串?

问题描述 投票:1回答:2

如何在laravel中查看日期字符串?

我想处理这种情况,如果字符串没有日期,例如“它是一些不是日期字符串”。

我尝试代码,但它不起作用我有下一个错误:

InvalidArgumentException  : A two digit month could not be found
Data missing

我的代码:

    if (Carbon::createFromFormat('m-d-Y', $rowMatrix[4]) !== false) {
//
}
php laravel validation laravel-5 time
2个回答
1
投票

您可以将DateTime用于此目的:

$dateTime = DateTime::createFromFormat('d/m/Y', $rowMatrix[4]);
$errors = DateTime::getLastErrors();
if (!empty($errors['warning_count'])) {
    // Not a date
}

或者您可以这样检查:

if (date('Y-m-d H:i:s', strtotime($rowMatrix[4])) == $rowMatrix[4]){
    // it's a date
}

1
投票

你可以使用try/catch block

try {
    $date = Carbon::createFromFormat('m-d-Y', $rowMatrix[4])
} catch(InvalidArgumentException $e) {
    $date = 'Not a date';
}

但更好的方法是使用Laravel验证date_format规则来确保字符串是一个日期:

'some_date_field' => 'date_format:"m-d-Y"',
© www.soinside.com 2019 - 2024. All rights reserved.