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

PHP实现给日期时间加1小时并格式化输出的方法(WordPress插件场景)

解决方案

你可以直接使用PHP内置的DateTime类处理时间转换,步骤简单且兼容各种合法时间格式,不需要额外依赖。

具体修改方法

找到你代码中foreach ($json['planned_battles'] as $p_battle) {这段循环,在输出战斗时间之前增加时间处理逻辑,修改后的循环代码如下:

foreach ($json['planned_battles'] as $p_battle) {   
    // 处理战斗时间:解析原始时间 + 1小时 + 格式化输出
    $raw_time = $p_battle['battle_time'];
    $battle_date = DateTime::createFromFormat('Y-m-d H:i:s.u', $raw_time);
    $formatted_time = '';
    if ($battle_date) {
        $battle_date->modify('+1 hour');
        $formatted_time = $battle_date->format('Y-m-d H:i');
    } else {
        // 时间解析失败时 fallback 显示原始时间,避免页面报错
        $formatted_time = $raw_time;
    }

    $html .= '<tr>';
    $html .= '<td>' . $formatted_time .'</td>';
    $html .= '<td>' . $p_battle['province_type'] .'</td>';
    $html .= '<td>' . $p_battle['province_id'] .'</td>';
    $html .= '<td>' . $p_battle['arena_name'] .'</td>';
    $html .= '</tr>';
}    

补充说明

  • 如果你的站点时区和接口返回的时间时区存在偏差,可以在解析时间后手动设置时区,比如$battle_date->setTimezone(new DateTimeZone('Asia/Shanghai'));即可调整为中国时区。
  • 上述代码已经做了异常兼容,哪怕后续接口返回的时间格式出现异常,也不会导致页面出现致命错误,只会显示原始时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:03