无法从数据表中删除小时和分钟

时间:2018-09-11 08:57:00

标签: laravel datatables metronic

我正在尝试使用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";

我该如何解决?

2 个答案:

答案 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帖子。