0

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

我该如何解决 ?

4

2 回答 2

1

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

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

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

$model->releasedAt->format('y-m-d'); // Returns '18-09-11'
于 2018-09-11T10:10:02.100 回答
1

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

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

在您的代码中,您已声明

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

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

如果你想在 laravel 中将字符串转换为日期,你可以关注这篇文章。

于 2018-09-11T11:55:06.417 回答