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

Laravel 5.4时间格式处理报错:无法将表单时间保存至数据库

解决Laravel 5.4中表单时间提交保存报错的问题

嘿,你的问题根源很明确:$request->input('birthtime')获取到的是字符串类型(比如用户提交的14:30),并不是Carbon日期实例,所以直接调用->format('H:i')肯定会报错。下面给你两种可行的解决方案:

方案一:直接使用提交的字符串(最简单)

因为<input type="time">提交的内容本身就是H:i格式的字符串,完全符合你要存入数据库的格式,所以可以直接赋值:

$add->BTime = $request->input('birthtime');

方案二:转为Carbon实例后处理(适合有额外时间操作需求)

如果你后续需要对这个时间做更多处理(比如加减时长、转换时区等),可以先把字符串转为Carbon对象,再格式化输出:

// 从字符串解析为Carbon实例
$birthtime = \Carbon\Carbon::createFromFormat('H:i', $request->input('birthtime'));
// 格式化后赋值(这里格式和原字符串一致,若有其他需求可修改格式参数)
$add->BTime = $birthtime->format('H:i');

额外注意事项

  • 确保你的数据库中BTime字段的类型是time(或者varchar类型,长度足够存下H:i格式的字符串),避免因字段类型不匹配导致保存失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:04:37