格式化动态日期时间

时间:2012-09-29 21:24:30

标签: php mysql datetime

如果有人问过我道歉,我刚刚在本网站和其他网站上过滤了关于格式化动态日期时间的大约40个问题,并且只看到了date()等的答案。问题是我正在尝试格式化当前格式为基于成员的系统的注册日期和上次登录日期:2012-09-29 10:21:40Sep 2012但由于这是动态数据,我不知道如何执行此操作。这样的信息就是从数据库中提取出来的,只是为了澄清:

    $sql = mysql_query("SELECT * FROM members WHERE id='$id'");

    while($row = mysql_fetch_array($sql)){
        $username = $row['username']; // Ignore
        $sign_up = $row["sign_up"];
        $last_login = $row["last_login"];
    }

3 个答案:

答案 0 :(得分:2)

正如date() doc所说:

date('M Y', strtotime($row["sign_up"]));

答案 1 :(得分:1)

如果我理解正确,您希望将DATETIME格式转换为在PHP中显示为Sep 2012之类的内容。您可能希望在PHP手册中查看datestrtotime

$sql = mysql_query("SELECT * FROM members WHERE id='$id'");

while($row = mysql_fetch_array($sql)){
    $username = $row['username']; // Ignore
    $sign_up = $row["sign_up"];
    $last_login = $row["last_login"];
    $convert = strtotime($sign_up);
    $convert = date('M Y',$convert);
    echo $convert . '<br />'; // this should be in the format Sep 2012
}

答案 2 :(得分:1)

如果你想用PHP做,你必须从mysql自己重新格式化日期时间:

$sign_up = date('M Y', strtototime($row["sign_up"]));    
$last_login = date('M Y', strtototime($row["last_login"]));