Laravel 8中如何处理复杂的时间问题以避免常见错误?

2026-04-02 03:311阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计469个文字,预计阅读时间需要2分钟。

Laravel 8中如何处理复杂的时间问题以避免常见错误?

取出来时间慢的+8+小时,修改app.php文件中的`timezone`值为`'Asia/Shanghai'`,时间格式未生效;修改后直接返回:2021-06-17T09:15:35.000000Z,问题处理方式:方式一:1、修改文件,路径如下:\ve


取出来的时间慢的 8 小时

修改app.php,'timezone' => 'Asia/Shanghai',时间格式没有生效;

修改之后一直返回:2021-06-17T09:15:35.000000Z,

问题处理方式:

方式一:

1、修改文件,路径如下:

\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php

2、修改下面代码:

/** * Prepare a date for array / JSON serialization. * 为数组 / JSON 序列化准备日期 * @param \DateTimeInterface $date * @return string */ protected function serializeDate(DateTimeInterface $date) { // return Carbon::instance($date)->toJSON(); //去掉这行 return Carbon::instance ($date)->toDateTimeString (); // 改成这行 }

3、再次请求接口时间格式正常

--------------------------

注意:

每次composer update 或 composer install,都需要修改该文件代码

--------------------------

Laravel 8中如何处理复杂的时间问题以避免常见错误?

方式二(推荐):

1、在对应数据表,模型类中重写serializeDate方法:

use Carbon\Carbon; /** * 对应数据表格增加 */ protected function serializeDate(\DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); }

2、再次请求接口时间格式正常

!!!仅供参考!!!


本文共计469个文字,预计阅读时间需要2分钟。

Laravel 8中如何处理复杂的时间问题以避免常见错误?

取出来时间慢的+8+小时,修改app.php文件中的`timezone`值为`'Asia/Shanghai'`,时间格式未生效;修改后直接返回:2021-06-17T09:15:35.000000Z,问题处理方式:方式一:1、修改文件,路径如下:\ve


取出来的时间慢的 8 小时

修改app.php,'timezone' => 'Asia/Shanghai',时间格式没有生效;

修改之后一直返回:2021-06-17T09:15:35.000000Z,

问题处理方式:

方式一:

1、修改文件,路径如下:

\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php

2、修改下面代码:

/** * Prepare a date for array / JSON serialization. * 为数组 / JSON 序列化准备日期 * @param \DateTimeInterface $date * @return string */ protected function serializeDate(DateTimeInterface $date) { // return Carbon::instance($date)->toJSON(); //去掉这行 return Carbon::instance ($date)->toDateTimeString (); // 改成这行 }

3、再次请求接口时间格式正常

--------------------------

注意:

每次composer update 或 composer install,都需要修改该文件代码

--------------------------

Laravel 8中如何处理复杂的时间问题以避免常见错误?

方式二(推荐):

1、在对应数据表,模型类中重写serializeDate方法:

use Carbon\Carbon; /** * 对应数据表格增加 */ protected function serializeDate(\DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); }

2、再次请求接口时间格式正常

!!!仅供参考!!!