kod*_*ire 1 php datetime laravel
我的代码:
$data['from'] = '2020-03-20 20:30:00';
$data['to'] = '2020-03-21 00:45:00';
$validity = \Validator::make($data, [
'from' => ['date_format:Y-m-d H:i:s'],
'to' => ['date_format:Y-m-d H:i:s']
]);
// This if gets true, and the error message is:
Run Code Online (Sandbox Code Playgroud)
to 与格式 Ymd H:i:s 不匹配
if($validity->fails()) {
dd($validity->errors());
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,当我改变它时00:45:00,01:45:00它并没有进入如果。我该如何解决?
由于您的语言环境设置Asia/Tehran为时间2020-03-21 00:45:00实际上无效。根据https://www.timeanddate.com/time/change/iran/tehran:
2020 年 3 月 21 日星期六,00:00:00 时钟向前调 1 小时到 2020 年 3 月 21 日星期六,当地时间 01:00:00。
这意味着 00:00:00 和 01:00:00 之间的时间永远不会发生。由于 Laravel 日期验证器在内部使用 PHP 的日期解析,因此解析失败并引发错误。如果您只想检查日期是否为给定格式而忽略任何夏令时怪癖,那么您可以使用date_default_timezone_set将区域设置临时设置为不遵守夏令时的区域设置。
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |