PHP格式化日期为中文格式怎么操作_PHP格式化日期为中文格式的详细步骤

可通过setlocale与strftime结合或自定义中文映射数组实现PHP日期转中文格式,推荐封装函数chinese_date($timestamp)以提升复用性与兼容性。

如果您需要将PHP中获取的日期时间转换为中文格式,例如“2025年3月15日 星期三”,但默认的date()函数仅支持英文格式输出,则可以通过字符映射和自定义函数实现中文日期显示。以下是具体操作步骤:

一、使用strftime与setlocale设置中文环境

通过设置本地化环境,结合strftime函数输出符合中文习惯的日期格式。此方法依赖系统是否安装了中文语言包。

1、调用setlocale函数设置地区为中文,确保服务器支持zh_CN.UTF-8或类似中文locale,代码如下:
    setlocale(LC_TIME, 'zh_CN.UTF-8');

2、使用strftime函数格式化日期,例如:
    echo strftime('%Y年%m月%d日 %A', strtotime('2025-03-15'));

3、若输出仍为英文星期或月份,请检查服务器是否安装中文语言支持,并确认时区设置正确。

二、定义中文映射数组手动替换

此方法不依赖系统环境,通过预先定义数字与中文星期、月份的对应关系,进行字符串替换,兼容性更强。

1、获取标准日期信息,使用date()函数提取年、月、日及星期索引:
    $year = date('Y');
    $month = date('n');
    $day = date('j');
    $week = date('w');

2、创建中文星期映射数组:
    $weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];

3、组合输出中文格式日期:
    echo $year . '年' . $month . '月' . $day . '日 ' . $weeks[$week];

三、封装自定义函数实现复用

将中文日期格式化逻辑封装成函数,便于在多个位置调用,提高代码可维护性。

1、定义函数chinese_date,接受时间戳参数,默认为当前时间:
    function chinese_date($timestamp = null) {
        if ($timestamp === null) {
            $timestamp = time();
        }
        $weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
        return date('Y年n月j日', $timestamp) . ' ' . $weeks[date('w', $timestamp)];
    }

2、调用该函数输出结果:
    echo chinese_date();

3、注意:此方法适用于所有PHP版本,无需额外配置系统环境