Sql server 正在修复Laravel中的SQL Server格式日期
我使用Laravel 7和数据库SQL Server 2017,我的数据库中的日期格式如下 数据库中存储的日期格式:2020-08-10 我的问题是,当我在Laravel项目中得到日期时,我得到的格式更改如下:2020年1月20日12:00:00:AM 我的代码是Sql server 正在修复Laravel中的SQL Server格式日期,sql-server,laravel,Sql Server,Laravel,我使用Laravel 7和数据库SQL Server 2017,我的数据库中的日期格式如下 数据库中存储的日期格式:2020-08-10 我的问题是,当我在Laravel项目中得到日期时,我得到的格式更改如下:2020年1月20日12:00:00:AM 我的代码是 $ratingSession = RatingSession::first(); return $ratingSession['pk_date']; 如何修复此问题?最简单的方法是使用。它包含在Laravel中 r
$ratingSession = RatingSession::first();
return $ratingSession['pk_date'];
如何修复此问题?最简单的方法是使用。它包含在Laravel中
return \Carbon\Carbon::parse($ratingSession['pk_date'])->format('Y-m-d');
如果您始终希望使用此格式,则可以在模型中使用:
class RatingSession extends Model
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = [
'pk_date',
];
/**
* The storage format of the model's date columns.
*
* @var string
*/
protected $dateFormat = 'Y-m-d';
这是因为我不能解决我的问题,我可以随时转换日期。但我的问题是我不能在pk_日期不存在的地方使用查询work@achmadsyarippudin你的问题对此毫无疑问。更新您的问题。SQL Server中的列定义是什么-
varchar
或date
?我定义了列类型date,因此date
的列类型本身没有格式,它只是一个日期。然而,您在数据库中看到的格式只是数据库客户端(SSMS?)显示它的默认方式。当您将其拉入Laravel时,它会自动转换为字符串,或者再次看到默认格式。我不知道Laravel是否支持原生日期对象,但如果它真的支持其中的一个。如果没有,您可能希望使用SQL函数format
强制设置日期的格式。