• laravel 输出时间少了8小时


    讲解

    这次做项目的时候使用回了laravel8 版本 但是好巧不巧,

    发现不是输出的格式有问题就是输出的时间不准确

    问题解决方案

    问题一

    • 输出的时间格式没有序列化;如图所示

    image-20210508083638940

    • 解决方案

    如果采用代码中格式输出的方式很繁琐以后每次写代码的时候我们都需要格式化

    一下时间然后再输出,这个时候我们可以采用laravel提供的修改器统一的格式化输出时间

    • 在对应的模型中使用修改器
    //不知道修改器如何使用的可以查阅官方文档   
    use CarbonCarbon;    
        public function getCreatedAtAttribute($value)
        {
            # 使用Carbon函数格式化输出时间
            return Carbon::parse($value)->toDateTimeString();
        }
    
        public function getUpdatedAtAttribute($value)
        {
            return Carbon::parse($value)->toDateTimeString();
        }
    

    问题二

    • 统一json输出时间显示少了八个小时

    image-20210508084248181

    image-20210508084619793

    • 解决方法
    • 在对应的模型中使用方法
      protected function serializeDate(DateTimeInterface $date)
        {
            return $date->format(Carbon::now()->toDateTimeString());
        }
    

    经过实验有一个最终的解决办法

    直接在模型中定义

     # 只要这一条上述的全部删除即可 
    protected function serializeDate(DateTimeInterface $date)
    {
            return $date->format(Carbon::parse($date)->toDateTimeString());
    }
    

    讲解

    这次做项目的时候使用回了laravel8 版本 但是好巧不巧,

    发现不是输出的格式有问题就是输出的时间不准确

    问题解决方案

    问题一

    • 输出的时间格式没有序列化;如图所示

    image-20210508083638940

    • 解决方案

    如果采用代码中格式输出的方式很繁琐以后每次写代码的时候我们都需要格式化

    一下时间然后再输出,这个时候我们可以采用laravel提供的修改器统一的格式化输出时间

    • 在对应的模型中使用修改器
    //不知道修改器如何使用的可以查阅官方文档   
    use CarbonCarbon;    
        public function getCreatedAtAttribute($value)
        {
            # 使用Carbon函数格式化输出时间
            return Carbon::parse($value)->toDateTimeString();
        }
    
        public function getUpdatedAtAttribute($value)
        {
            return Carbon::parse($value)->toDateTimeString();
        }
    

    问题二

    • 统一json输出时间显示少了八个小时

    image-20210508084248181

    image-20210508084619793

    • 解决方法
    • 在对应的模型中使用方法
      protected function serializeDate(DateTimeInterface $date)
        {
            return $date->format(Carbon::now()->toDateTimeString());
        }
    

    经过实验有一个最终的解决办法

    直接在模型中定义

     # 只要这一条上述的全部删除即可 
    protected function serializeDate(DateTimeInterface $date)
    {
            return $date->format(Carbon::parse($date)->toDateTimeString());
    }
    
  • 相关阅读:
    spring cloud-zuul的Filter详解
    Hibernate day01
    JAVA中几种常用的RPC框架介绍
    乐观锁和悲观锁的区别(最全面的分析)
    Redis、Memcache和MongoDB的区别
    Hessian整合Spring
    Hessian的使用以及理解
    sso单点登录系统原理与实现
    zookeeper原理(转)
    Nginx的负载均衡的几种方式
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/14743489.html
Copyright © 2020-2023  润新知