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

Can't remove hours and minutes from datatable

我正在尝试获取 y-m-d 格式的发布日期字段。实际上时间格式(对于 y-m-d)看起来不错,但它也提供 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";

我该如何解决这个问题?

您的数据库列属于 dateTime 类型,根据定义,它包括日期和时间信息。如果您想在数据库级别删除时间,请改用 date 类型

$table->date("released_at")->nullable();

如果您不想从数据库中删除时间,而只是想在应用程序的某些部分忽略它,您可以利用这一事实,而不是 Laravel 来自模型的所有日期都是 Carbon\Carbon 实例,所以你可以做

$model->releasedAt->format('y-m-d'); // Returns '18-09-11'

数据表接受与 mysql 类型相同的列类型。

您正在尝试将数据表中的 mysql dateTime 列转换为 Date,这在数据表中是不可能的。

在您的代码中您已声明

format: "YYYY/MM/DD" // but actual type is dateTime as per mysql.So it will append time next to it.

如果您只在 mysql 中存储日期,那么您可以将列类型更改为 Date,您的问题就解决了。

如果您想将字符串转换为 laravel 中的日期,您可以按照 post.