为模型中的日期设置输入默认日期格式

问题描述 投票:0回答:1

有一种方法可以在模型中设置输入日期的默认日期格式吗?

我需要创建一个模型,其中包含以JSON格式接收的数据,日期格式为Y-m-dTH:i:sP,但数据库中的日期以默认的Y-m-d H:i:s格式存储。我在模型的$dates属性中添加了所有日期字段,但现在当我在构造函数中创建模型设置所有参数时,如下所示:

$model = new Model($params);

我得到碳转换错误(InvalidArgumentException)因为它试图从Carbon格式创建一个Y-m-d H:i:s对象。

我知道Date mutators,但如果我设置

protected $dateFormat = "Y-m-d\TH:i:sP";

它正确地创建了Carbon对象但是我在DB中存储时出错,因为它试图以该格式存储记录。

有没有一种标准的方法来实现我需要的而不转换每个日期参数上的日期格式?

laravel laravel-5.4 php-carbon
1个回答
0
投票
//date format = Y-m-dTH:i:sP
$date = '2011-09-16T11:38:23-05:00';
$new_date = date_format(date_create($date), 'Y-m-d H:i:s');
© www.soinside.com 2019 - 2024. All rights reserved.