刚从Laravel 5升级到Laravel 6,然后Carbon也升级到版本2。
遇到了Carbon::parse()的一个奇怪的问题。似乎无论我输入什么作为解析的第二个参数-日期总是用应用程序的默认时区(欧洲/斯德哥尔摩)解析的。
$bookingDate = Carbon::parse('2020-08-17 15:00:00', 'Europe/London');
$bookingDate->getTimezone()->getName(); // Europe/Stockholm (mismatch)但是,使用Carbon::createFromFormat(),它可以按预期工作:
$bookingDate = Carbon::createFromFormat('Y-m-d H:i:s', '2020-08-17 15:00:00', 'Europe/London');
$bookingDate->getTimezone()->getName(); // Europe/London例如,在tinker中测试时,这不是问题-因为在该执行中没有设置默认时区。
那么为什么第一段代码中的->getName()返回Europe/Stockholm呢?
发布于 2020-08-17 19:27:23
您可以使用以下命令进行解析:
Carbon::parse($value)->format('d/m/Y');https://stackoverflow.com/questions/63449554
复制相似问题