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

Laravel中如何将从数据表获取的时间转换为印度AM/PM格式

Laravel 实现印度制式时间格式转换

Laravel 模型默认将updated_at、created_at这类时间字段自动解析为内置Carbon时间实例,可直接通过格式化方法输出目标格式,无需手动做类型转换。当前场景下可通过以下两种方式实现需求:

模板内直接格式化

直接修改现有Blade输出代码,通过Carbon格式符匹配目标输出规则:

{{ $ad->updated_at->format('Y-m-d h:i a') }}

格式匹配说明:

  • 日期段使用Y-m-d,输出四位年、带前导零的两位月、两位日
  • 时间段使用h(12小时制带前导零的两位小时)、i(带前导零的两位分钟)
  • 后缀标识使用a,输出小写的am/pm
    对示例时间2021-04-22 16:09:24执行格式化,输出结果为2021-04-22 04:09 pm,完全符合需求。

模型层封装可复用逻辑

如果项目内多处需要使用该时间格式,可在Ad模型中定义访问器,避免重复编写格式化代码:

// Ad模型内添加以下方法
public function getIndianUpdatedAtAttribute()
{
    return $this->updated_at->format('Y-m-d h:i a');
}

模板中可直接调用封装好的属性输出:

{{ $ad->indian_updated_at }}

常见调整说明

  • 若需要输出大写的AM/PM标识,将格式串中的a替换为A即可
  • 如果遇到字段未被自动解析为Carbon的特殊场景,可手动通过Carbon\Carbon::parse($ad->updated_at)转换为时间实例后再执行格式化操作

内容的提问来源于stack exchange,提问作者nwgroupchat h

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 17:06:03