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

MySQL中Unix时间戳转d-m-Y格式及PHP转换异常问题求解

问题原因及修复方案

核心错误点

  • strtotime()函数误用:strtotime()的功能是将可读的日期时间字符串转换为Unix时间戳,你从数据库读取的birthdate本身就是Unix时间戳格式的数值,直接传入strtotime()无法被识别,会返回false。date()函数接收到false参数时会自动转换为整数0,对应Unix时间戳的起始时间01-01-1970。
  • 代码语法错误:SQL语句定义行漏写了闭合的双引号,执行时会触发语法报错。

修复后代码

<?php
    $pdo = new PDO('mysql:host=localhost;dbname=local-db;charset=utf8', 'root', '');
    // 补全SQL语句的闭合双引号
    $sql = "SELECT birthdate FROM wp_pdb WHERE 1";
    foreach ($pdo->query($sql) as $row) {
    echo "<tr><td>" . 
        $row['birthdate'] . "</td><td>" . 
        // 直接传入时间戳数值,无需调用strtotime
        date('d-m-Y', (int)$row['birthdate']) . "</td><td>" . 
        "<br /> ";
}
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 17:15:08