You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何格式化时间戳?如何将自定义created_at属性格式化为带'at'的指定样式?

调整Laravel时间戳访问器实现目标格式

嘿,这个修改其实非常简单!你只需要调整Carbon的format()方法里的格式字符串,把'at'文本加进去就行——不过要注意,a和t本身是Carbon的格式占位符,直接写会被解析成别的内容,所以得做转义处理。

符合需求的修改后代码

public function getCreatedAtAttribute($value) {
    return Carbon::parse($value)->format('M j, Y \a\t g:i A');
}

格式字符串逐段说明

咱们拆解一下这个格式,确保完全匹配你的需求:

  • M:输出英文月份缩写(比如Oct、Jan)
  • j:输出不带前导零的日期数字(比如9而不是09,完美匹配你例子里的格式)
  • Y:输出四位完整年份(比如2021)
  • \a\t:转义后原样输出文本at(反斜杠用来告诉Carbon不要把a和t当作格式符解析)
  • g:输出不带前导零的12小时制小时(比如1而不是01)
  • i:输出两位数字的分钟(比如23、05)
  • A:输出大写的上午/下午标识(AM或PM)

另一种等价写法

如果你觉得转义反斜杠有点麻烦,也可以用单引号把at包裹起来,效果完全一样:

public function getCreatedAtAttribute($value) {
    return Carbon::parse($value)->format('M j, Y \'at\' g:i A');
}

这样修改后,你的created_at字段就会输出完全符合要求的Oct 9, 2021 at 1:23 PM格式啦!

内容的提问来源于stack exchange,提问作者Isaac Arcilla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 01:54:08