当我回声Carbon::now()
时。它仅显示日期时间。 “ 2018-07-05 09:21:21”
但是当我在MongoDB上插入它时,它变成了一个对象;
{
"date" : "2018-07-05 09:21:21.020981",
"timezone_type" : 3,
"timezone" : "UTC"
}
我只想要date
上的数据。为什么会这样?
编辑:
我尝试这样做
$currentDateTime = strtotime(Carbon::now());
$request->merge([
'dateSample' => date("Y-m-d H:i:s", $currentDateTime)
]);
但是它另存为string
类型。我需要它是Date
类型。
答案 0 :(得分:3)
因为当您echo Carbon::now()
那个时候称为__toString
函数时
这是代码。
public function __toString()
{
return $this->format(static::$toStringFormat);
}
如果您使用dd(Carbon::now());
,则一定会看到此结果
{
"date" : "2018-07-05 09:21:21.020981",
"timezone_type" : 3,
"timezone" : "UTC"
}
在echo Carbon::now();
的情况下,您看到结果Carbon::now()->__toString()
是“ 2018-07-05 09:21:21”;
编辑
要获取DateTime
对象,您可以
$currentDateTime = \Carbon\Carbon::now()->toDateTimeString();
$date = new DateTime($currentDateTime);
答案 1 :(得分:0)
确保您的数据库表列设置为类型date example_date
date DEFAULT NULL,
糟糕,您要使用merge()的错误
$request->merge([
'dateSample' => \Carbon\Carbon::now()->format('Y-m-d');
]);