Php只显示来自sql DATETIME的YEAR

时间:2012-08-22 01:07:39

标签: php sql datetime foreach

我有一个函数,我用于foreach循环,来自mySQL DB的3个最新帖子。

function latest_posts_footer(PDO $dbh) {
    global $dbh;

    $stmt = $dbh->prepare("
        SELECT      *
        FROM        posts
        ORDER BY    post_date DESC
        LIMIT       0, 3
    ");
    $stmt->execute();
    return $stmt->fetchAll();
}
latest_posts_footer($dbh);
$latest_posts_footer = latest_posts_footer($dbh);

post_date类型是DATETIME,它可以正常工作。

我知道查询:SELECT YEAR(post_date) FROM posts;给了我post_date年份。

要显示我可以简单地执行的原始DATETIME:

the loop

哪会给我带来输出: 2000-01-01 00:00:00

如何仅使用PHP从该输出中获取 ?帮助不仅仅是值得赞赏的。谢谢!

P.S。我已经查看过以前有关同一事情的帖子,但他们不会帮忙。

3 个答案:

答案 0 :(得分:2)

$year = date("Y", strtotime($lpf['post_date']));

echo $year;

答案 1 :(得分:1)

YEAR你究竟是什么意思?

$yearOnly = date("Y", $lpf['post_date']);

<强> PHP DATE Manual

答案 2 :(得分:0)

这是一个提示

 $date = DateTime::createFromFormat("Y-m-d", "2068-06-15");
 echo $date->format("Y");

除非我在这里误解了什么