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

如何从created_at字段提取月份并显示为巴西葡萄牙语?

解决方法:将月份显示为巴西葡萄牙语

没问题!要把你的日期月份改成巴西葡萄牙语的「JANEIRO」这类格式,这里有两种实用方案,你可以根据自己的服务器环境选择:

方案一:使用PHP本地化函数(推荐,适合服务器支持locale的情况)

PHP的date()函数本身不支持本地化输出,所以我们需要用setlocale()配合strftime()来实现:

  1. 首先确保你的服务器安装了巴西葡萄牙语的locale包(Linux下通常是pt_BR.UTF-8,Windows下是Portuguese_Brazil.1252或ptb)。
  2. 修改你的视图代码如下:
<span>
   <?php
   // 设置巴西葡萄牙语区域,多写几个备选兼容不同服务器系统
   setlocale(LC_TIME, 'pt_BR.UTF-8', 'pt_BR', 'Portuguese_Brazil.1252', 'ptb');
   // strftime("%B") 会输出本地化的完整月份名称
   echo strftime("%B", strtotime($item->created_at)) . ' de ' . date("Y", strtotime($item->created_at));
   ?>
</span>

这样运行后,就能得到JANEIRO de 2023的结果啦。

方案二:手动定义月份数组(稳妥,不受服务器locale限制)

如果你的服务器没法安装对应的locale包,或者担心兼容性问题,可以直接手动映射巴西葡萄牙语的月份:

<span>
   <?php
   // 定义巴西葡萄牙语月份数组,索引对应1-12的月份数字
   $br_months = [
       1 => 'JANEIRO',
       2 => 'FEVEREIRO',
       3 => 'MARÇO',
       4 => 'ABRIL',
       5 => 'MAIO',
       6 => 'JUNHO',
       7 => 'JULHO',
       8 => 'AGOSTO',
       9 => 'SETEMBRO',
       10 => 'OUTUBRO',
       11 => 'NOVEMBRO',
       12 => 'DEZEMBRO'
   ];
   // 获取月份数字(1-12)
   $month_number = date("n", strtotime($item->created_at));
   // 输出对应月份和年份
   echo $br_months[$month_number] . ' de ' . date("Y", strtotime($item->created_at));
   ?>
</span>

这个方法完全不依赖服务器的locale设置,直接手动匹配,结果肯定符合你的需求。

内容的提问来源于stack exchange,提问作者Itamar Campos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 17:50:22