如何使用Laravel中的Carbon将日期格式从dd/mm/yyyy转换为yyyy-mm-dd?

9

我有一个小的 Laravel 项目,涉及到日期转换。我有一个请求中获取的日期字符串,格式为 dd/mm/yyyy。代码和结果如下所示:

$request->stockupdate ; 
// dd/mm/yyyy (02/05/2019)

然后我尝试使用Carbon将其转换为yyyy-mm-dd格式。

$_stockupdate= Carbon::parse($request->stockupdate)->format('Y-m-d'); 

我得到的解析结果如下。
2019/02/05  // Seem it is 2 Feb 2019 not 5 May 2019.

那是错误的,应该是2019/05/02。如有建议或指导将不胜感激,谢谢。


如果您修改模型文件中的属性,则会发生这种情况。我认为您已经在模型中编写了更改格式的代码,并且在此处再次尝试格式化相同的属性。您还尝试编写 $_stockupdate= Carbon::parse($request->getOriginal('stockupdate'))->format('Y-m-d'); 的代码。 - Prashant Prajapati
亲爱的Prashant Prajapati,谢谢。 - joenpc npcsolution
3个回答

37

你可以尝试这个:

Carbon::createFromFormat('d/m/Y', $request->stockupdate)->format('Y-m-d')

1
亲爱的nakov,这正是我想要的,非常感谢你。 - joenpc npcsolution


3
你可以尝试这个方法:
 $date = str_replace('/', '-', $request->stockupdate);
 $newDate = date("Y-m-d", strtotime($date));
 OR
 Carbon::createFromFormat('d/m/Y', $request->stockupdate)->format('Y-m-d')

亲爱的Jithesh Jose,谢谢。 - joenpc npcsolution

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接