在 用 Laravel-admin 扩展的时候时间日期格式多了个.000000Z, 而且格式也不对,这个如何解决呢?

前几天在使用 laravel-admin 扩展的时候出现了这个现象,用 model 生成 controller 的时候时间格式是如图所示。


明明在数据库里没这个.000000Z 的,那这个.000000Z 是如何出现的呢?

这是因为从 laravel7 开始,数据的格式化(data serialization)的时候就会出现这样的现象。

具体问题的说明在这里:

learnku.com/docs/laravel/7.x/upgra...

当碰到日期时间的时候,框架用到了 carbon 的 toJson () 方法,导致的结果会是这样的,会产生跟 ISO-8601 兼容的格式,而且这个总是以 UTC 的格式显示。这个咱们先不刨根问底了。

如果想去掉就要在模型文件里这样操作:

use DateTimeInterface;

/**

* Prepare a date for array / JSON serialization.

*

* @param  \DateTimeInterface  $date

* @return string

*/

protected function serializeDate(DateTimeInterface $date)

{

    return $date->format('Y-m-d H:i:s');

}

加完这个问题就解决了。

你可能感兴趣的:(在 用 Laravel-admin 扩展的时候时间日期格式多了个.000000Z, 而且格式也不对,这个如何解决呢?)