laravel api 文件中的双倍时间规范
Double time specification in file in laravel api
我正在 laravel 中创建 api,并从 $request->followup
中获取 2021-01-30T10:30:17.704 05:30
,并且我在数据库中有一个名为 followup 的列,具有 datetime 数据类型。但它给了我以下错误。
Carbon\Exceptions\InvalidFormatException: Could not parse '2021-01-30T10:30:17.704 05:30': DateTime::__construct(): Failed to parse time string (2021-01-30T10:30:17.704 05:30) at position 24 (0): Double time specification in file D:\xampp2\htdocs\synocrm-baid\rest-apis\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php on line 188
我试过像这样更改格式
$followupDate = date('Y-m-d h:i:s A',strtotime($request->followup));
我的模态
@property Carbon|null $followup
2021-01-30T10:30:17.704 05:30
似乎没有有效的时间戳。为了解析,它应该是有效的时间戳或日期。
$request->followup
正在将 datetime 附加到 datetime
原值:2021-01-30T10:30:17.704 05:30
日期时间:2021-01-30T10:30:17.704
时间:05:30
我们可以看到,有两个时间(05:30和10:30:17),因此strtotime()
无法转换值。
为了解决问题,
只发送值作为时间时间(2021-01-30T10:30:17.704)而不是两次时间属性
如果您无法控制请求值,则只能检索日期值,例如:
$dateValue = explode(' ', $request->followup)[0];
$followupDate = date('Y-m-d h:i:s A',strtotime($dateValue));
Or Using Carbon
$followupDate = Carbon::parse($dateValue);
我不推荐选项 2,因为它会给其他开发者带来问题和困惑。
我正在 laravel 中创建 api,并从 $request->followup
中获取 2021-01-30T10:30:17.704 05:30
,并且我在数据库中有一个名为 followup 的列,具有 datetime 数据类型。但它给了我以下错误。
Carbon\Exceptions\InvalidFormatException: Could not parse '2021-01-30T10:30:17.704 05:30': DateTime::__construct(): Failed to parse time string (2021-01-30T10:30:17.704 05:30) at position 24 (0): Double time specification in file D:\xampp2\htdocs\synocrm-baid\rest-apis\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php on line 188
我试过像这样更改格式
$followupDate = date('Y-m-d h:i:s A',strtotime($request->followup));
我的模态
@property Carbon|null $followup
2021-01-30T10:30:17.704 05:30
似乎没有有效的时间戳。为了解析,它应该是有效的时间戳或日期。
$request->followup
正在将 datetime 附加到 datetime
原值:2021-01-30T10:30:17.704 05:30
日期时间:2021-01-30T10:30:17.704
时间:05:30
我们可以看到,有两个时间(05:30和10:30:17),因此strtotime()
无法转换值。
为了解决问题,
只发送值作为时间时间(2021-01-30T10:30:17.704)而不是两次时间属性
如果您无法控制请求值,则只能检索日期值,例如:
$dateValue = explode(' ', $request->followup)[0]; $followupDate = date('Y-m-d h:i:s A',strtotime($dateValue)); Or Using Carbon $followupDate = Carbon::parse($dateValue);
我不推荐选项 2,因为它会给其他开发者带来问题和困惑。