php - 将日期时间输出更改为今天并中断时间

标签 php mysql datetime

如果我有以下代码,我会从我的数据库中输出项目。我想知道如何检查某些日期是否与今天相同,然后输出的数据将回显“今天”而不是 7-23-15,如果我正在查看发布的内容,“昨天”也是如此昨天。

然后我想看看是否可以断开数据库中日期时间条目的时间部分,只回显时间?

我的数据库中有 DATETIME 作为我的数据类型。

$stmt2 = $con->prepare("SELECT `id`, `category_id`, `topic_id`, `post_creator`, `post_content`, `post_date` FROM forum_posts WHERE `category_id`=? AND `topic_id`=?");
    if($stmt2===false) {
    die();
    } else {
        //var_dump($stmt2);

            $stmt2->bind_param("ii", $cid, $tid);
            $stmt2->execute();
            $stmt2->store_result();
            $stmt2->bind_result($post_id, $post_category_id, $post_topic_id, $post_creator, $post_content, $post_date);
            //$result2 = $stmt2->get_result();
            if (!$stmt2) {
            throw new Exception($con->error);
            }
        }
    $num_rows2 = $stmt2->num_rows;
    if($num_rows2) {
        while($stmt2->fetch()) {
        $post_id;
        $post_category_id;
        $post_topic_id;
        $post_creator;
        $post_content;
        $post_date;

最佳答案

替换:

$stmt2 = $con->prepare("SELECT `id`, `category_id`, `topic_id`, `post_creator`, `post_content`, `post_date` FROM forum_posts WHERE `category_id`=? AND `topic_id`=?");

与:

$stmt2 = $con->prepare("SELECT `id`, `category_id`, `topic_id`, `post_creator`, `post_content`, IF(DATE(`post_date`) = CURDATE(), 'Today', DATE(`post_date`)) FROM forum_posts WHERE `category_id`=? AND `topic_id`=?");

这将只返回日期部分。如果是当前日期,它将返回“今天”。

关于php - 将日期时间输出更改为今天并中断时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595089/

相关文章:

php - 如何在 PHP 中拆分 * 和 - 上的字符串?

python - 类型错误 : '>' not supported between instances of 'datetime.datetime' and 'str'

python - 如何检查日期是否在特定范围内?

php - 将大型 csv 文件导入 mysql 数据库

php - 使用ajax从数据库实时获取数据?

php - 使用 php 进行页面缓存

javascript - Req.Body 未定义 NODE.JS POST 请求

mysql - 在线网站 - 无法通过套接字 '/var/lib/mysql/mysql.sock' 连接到本地 MySQL 服务器 (2)

php - 如何在表格行中显示数据库记录

php - 如何从当前日期 PHP 获取最近 7 周、7 个月的日期范围?