我正在尝试使用y-m-d
格式获取发布日期字段。.实际上,时间格式(对于ymd)似乎很好,但是它也给出了h:m:s,我在服务器端更改了时间格式并删除了h:m:s,但数据表仍显示它们
我得到的
2012-04-11 00:00:00
我想要的
2012-04-11
Released_at字段(Metronic主题-json数据表)
{
field: "released_at",
title: "Release Date",
type: "date",
format: "YYYY/MM/DD"
}
时间格式(我正在使用laravel框架)
protected $dateFormat = "Y-m-d";
我该如何解决?
答案 0 :(得分:1)
您的数据库列的类型为dateTime
,根据定义,它包括日期和时间信息。如果要在数据库级别删除时间,请改用date
类型
$table->date("released_at")->nullable();
如果您不想从数据库中删除时间,而只是想在应用程序的某些部分忽略它,则可以利用以下事实:在Laravel中,来自模型的所有日期都是Carbon\Carbon
实例,因此您可以做到
$model->releasedAt->format('y-m-d'); // Returns '18-09-11'
答案 1 :(得分:1)
数据表接受与mysql类型相同的列类型。
您正在尝试将mysql dateTime
列转换为datatable中的Date
,这是无法从datatable中实现的。
在您的代码中,您已声明
format: "YYYY/MM/DD" // but actual type is dateTime as per mysql.So it will append time next to it.
如果您仅在mysql中存储日期,则可以将列类型更改为Date
,问题就可以得到解决。
如果您想在laravel中将字符串转换为日期,则可以关注this帖子。