因为laravel使用now()
作为Carbon类的辅助函数,所以我尝试了
dd(now('GMT+5:45')->isoFormat('x')))
但它返回laravel的错误方法调用异常,说
Illuminate\Support\Carbon::isoFormat does not exist.
我想要的只是将日期和时间转换为time string
,就像strtotime()
函数
我现在该做什么?
答案 0 :(得分:0)
似乎您使用的Laravel版本低于5.8
,其中包含 Carbon 1 ,因此{strong>不包含isoFormat()
,因为它是碳2 的一部分。
因此,您可以选择使用formatLocalized()
,但是请注意,它使用的是different放置方式,然后是isoFormat()
我对您的建议是,如果您想使用Laravel 5.8
,请升级到isoFormat()
如果您想坚持使用当前的Laravel版本并继续使用formatLocalized()
,则需要执行以下操作:
Carbon::setLocale($this->app->getLocale());
这将本地化->diffForHumans()
仅。setLocal()
来帮助Carbon,它将使用计算机中已安装的Locales来确保您的操作系统(Linux / Mac)已安装所需的本地语言:您可以通过输入{{ 1}}(如果未显示),然后运行:locale -a
,将出现一个简单的GUI,通过点击 sapce 按钮然后选择 enter 来选择所需的本地。然后是语言环境。sudo dpkg-reconfigure locales
systemctl restart php7.3-fpm.service
。例如:->formatLocalized()
答案 1 :(得分:-2)
您可以使用format()
中的Carbon
功能。
now('GMT+5:45')->format('y-m-d');
'y-m-d'
可以替换为您可以看到的here格式。
编辑:
或者,如果您想使用isoFormat()
,
您可以使用Carbon::now()
代替now()
。
Carbon\Carbon::now()->isoFormat();
发生此问题是因为now()
是Laravel帮助者,并且它返回Illuminate\Support\Carbon
。