嘟嘟社区

请MJJ帮忙看看怎么改这个代码时区为PRC


  /**
     * {@inheritdoc}
     */
     
    public $timestamps = true;

    protected $casts = [
        ‘settings’   => AsArrayObject::class,
        ‘created_at’ => ‘datetime’,
        ‘updated_at’ => ‘datetime’,
        ‘end_date’   => ‘datetime’,
    ];

感觉应该是这段代码,现在用的一个插件,时间会提前八小时,怎么设置它为 PRC 时区?
我不会改,见笑了哈哈
请会改的帮忙看看

问一下gpt呢
你这是laravel框架吧,
修改 config 里面的 app.php  ‘timezone’ => ‘PRC’,

920 发表于 2024-10-28 10:50
你这是laravel框架吧,
修改 config 里面的 app.php  ‘timezone’ => ‘PRC’,

这是flarum,在程序改了utc为prc,但这个插件原来utc时间正常,改了那边为prc后,这个就会提前八小时,貌似这个插件调用的还是utc时间

帅气的呱呱 发表于 2024-10-28 10:57
这是flarum,在程序改了utc为prc,但这个插件原来utc时间正常,改了那边为prc后,这个就会提前八小时,貌 …

Flarum 基于 Laravel 构建.如果是插件可以找一下继承 app.php 的地方。或者直接全局搜索 ‘timezone’ 相关的,

920 发表于 2024-10-28 11:02
Flarum 基于 Laravel 构建.如果是插件可以找一下继承 app.php 的地方。或者直接全局搜索 ‘timezone’ 相关 …

https://wwtm.lanzouq.com/iLJ1X2dk4m6d

可以麻烦帮我看看不?我搜不出来那个字段

本帖最后由 920 于 2024-10-28 11:39 编辑

帅气的呱呱 发表于 2024-10-28 11:11
https://wwtm.lanzouq.com/iLJ1X2dk4m6d

可以麻烦帮我看看不?我搜不出来那个字段

本地没PHP开发环境,好久没搞了。
这样麻烦的就用简单一点的方式,如果只是修改当前 的model ,
可以在 get 和 set 方法中手动转换时区。
具体看laravel 版本是多少,
记得新老版本的 访问器 修改器 有点不一样

例如 转换 end_date 事件

  1. protected function endDate(): Attribute
  2.     {
  3.         return Attribute::make(
  4.             get: fn ($value) => Carbon::parse($value)->timezone(‘Asia/Shanghai’),
  5.             set: fn ($value) => Carbon::parse($value)->timezone(config(‘app.timezone’))
  6.         );
  7.     }

复制代码

920 发表于 2024-10-28 11:25
本地没PHP开发环境,好久没搞了。
这样麻烦的就用简单一点的方式,如果只是修改当前 的model ,
可以在 g …

好的,太感谢了