因为,laravel使用now()
作为carbon类的助手函数,所以我尝试了这个dd(now('GMT+5:45')->isoFormat('x')))
但它返回了laravel的坏方法调用异常Illuminate\Support\Carbon::isoFormat does not exist.
我只想把日期和时间转换成time string
函数
我现在该怎么办?
最佳答案
看起来你用的是一个版本的拉维,它比包含碳1的5.8
低,因此,isoFormat()
不包含,因为它是碳2的一部分。
所以你可以选择使用formatLocalized()
但是请注意它使用的是different布局模式而不是isoFormat()
我给你的建议是,如果你想使用Laravel 5.8
如果您想坚持使用当前版本的laravel并继续使用isoFormat()
,则需要执行以下操作:
在其中一个服务提供者中,假设appserviceprovider,在register()中添加:formatLocalized()
这将只本地化Carbon::setLocale($this->app->getLocale());
。
通过设置php->diffForHumans()
来帮助carbon,它将使用您机器中已安装的区域设置来确保您的操作系统(linux/mac)已安装了所需的本地:您可以通过键入setLocal()
来检查,如果没有显示,则运行:locale -a
一个简单的gui将通过点击sapce按钮然后输入来选择所需的本地,然后选择默认区域设置。
如果您刚刚安装了所需的区域设置,请确保重新启动php fpm服务:sudo dpkg-reconfigure locales
使用本地化方法,在您的情况下:systemctl restart php7.3-fpm.service
。I.G:->formatLocalized()
关于php - Carbon::isoFormat不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53152511/