Laravel中使用Carbon解析20220916#120000格式日期时间报错求助
解决Carbon解析带#分隔的日期格式问题
首先检查变量名:你代码里定义的是$weather_date,但执行dd($weather_data),变量名不匹配,这是明显的低级错误,先修正这个。
如果变量名修正后仍报错,按以下步骤排查:
确认原始日期字符串格式
先输出原始日期值,确保它完全符合Ymd#His格式(比如20220916#120000),没有空格、换行或其他不可见字符:dd($weather->features[0]->properties->date);正确解析并分离日期时间
如果原始值格式没问题,直接用createFromFormat解析后,按需提取日期和时间:// 解析原始日期字符串 $carbonDate = Carbon::createFromFormat('Ymd#His', $weather->features[0]->properties->date); // 提取适合查询的日期格式(示例:'Y-m-d') $queryDate = $carbonDate->format('Y-m-d'); // 提取适合查询的时间格式(示例:'H:i:s') $queryTime = $carbonDate->format('H:i:s'); // 生成你需要的带格式的字符串 $formattedDate = $carbonDate->format('jS F Y h:i:s');清理异常字符(如果有)
如果原始字符串存在隐藏的多余字符,先清理再解析:$rawDate = preg_replace('/[^0-9#]/', '', $weather->features[0]->properties->date); $carbonDate = Carbon::createFromFormat('Ymd#His', $rawDate);
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

