You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Carbon::createFromFormat报Unexpected data found错误排查求助

错误原因与解决办法

核心问题

你遇到的"Unexpected data found. Trailing data"错误,根源是Carbon指定的日期格式字符串和前端传入的实际日期格式完全不匹配。

具体分析

  • 前端<input type="datetime-local">返回的是标准ISO日期格式:YYYY-MM-DDTHH:mm:ss(比如你示例里的2018-01-31T18:00:00),包含T分隔符和秒数部分。
  • 但你代码中用的Carbon格式是'd/m/Y H:i'(日/月/年 时:分),和传入格式完全不符。Carbon解析时会发现多余的T和秒数字符,因此抛出Trailing data错误。

解决方法

方法1:修改Carbon解析格式匹配前端输入

把代码中的格式字符串改成对应datetime-local的格式:

$fe_ini = Carbon::createFromFormat('Y-m-d\TH:i:s', $request->fecha_inicial);

(注:T前加反斜杠是因为它是Carbon格式的特殊字符,需要转义)

或者用更简便的自动识别方式:

$fe_ini = Carbon::parse($request->fecha_inicial);

方法2:统一前后端日期格式(可选)

如果坚持要用d/m/Y H:i格式解析,需要修改前端逻辑:要么更换输入类型(比如用普通文本框搭配支持该格式的日期选择器),要么通过JS把datetime-local返回的ISO格式转换成d/m/Y H:i再提交。

关于store函数的疑问

如果store函数里同样用Carbon::createFromFormat('d/m/Y H:i', $request->fecha_inicial)却没报错,大概率是store时前端传入的日期格式和update时不一致——比如store用的是手动输入d/m/Y H:i格式的输入框,而update用了datetime-local,导致格式不统一。

内容的提问来源于stack exchange,提问作者Rodri6uez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 01:06:18