问答 / 0 / 17 / 创建于 2年前
数据库读取的时间是 2023-12-18 03:33:46 页面展示是{{ $info->create_time }} 如果只获取年月日 要怎么实现
$info->created_at->toDateString(); // 或者 自定义格式 $info->created_at->format('Y-m-d');
简单点,字符串切割都行,过于依赖框架本身了。
@小学毕业生
$str = "2023/01/01 12:00"; // 方法1 var_dump( explode(" ",$str)[0] ); // string(10) "2023/01/01" // 方法2 var_dump( substr($str, 0, strpos($str, " ")) ); // string(10) "2023/01/01" // 方法3 var_dump( date('Y/m/d' , strtotime($str)) );
$str = "2023-12-18 03:33:46"; // 方法1 var_dump( explode(" ", $str)[0] ); // string(10) "2023-12-18" // 方法2 var_dump( substr($str, 0, strpos($str, " ")) ); // string(10) "2023-12-18" // 方法3 var_dump( date('Y-m-d' , strtotime($str)) ); // string(10) "2023-12-18"
同样的三种代码,解决问题,你还有什么格式。
create_time 说明你不是用的内置的created_at,这就导致create_time 是一个字符串,可以在模型内修改常量CREATED_AT和UPDATED_AT来让框架自动解析时间,这时候create_time 就是一个carbon实例,再配合一楼的方案就可以实现了,但是要确保这个字段存在数据,我建议增加使用修改器,新增一个字段,做好异常兼容
/** * 获取格式化的时间. */ public function getCreateTimeForDateAttribute() { try { return ($this->create_time instanceof Carbon) ? $this->create_time->toDateString() : ''; } catch (\Throwable $th) { return ''; } }
我要举报该,理由是:
简单点,字符串切割都行,过于依赖框架本身了。
create_time 说明你不是用的内置的created_at,这就导致create_time 是一个字符串,可以在模型内修改常量CREATED_AT和UPDATED_AT来让框架自动解析时间,这时候create_time 就是一个carbon实例,再配合一楼的方案就可以实现了,但是要确保这个字段存在数据,我建议增加使用修改器,新增一个字段,做好异常兼容