0

我将日期插入数据库,NOW()然后查询结果。这是代码。

    function get_content($id = ''){

if($id != ''):
    $id = mysql_real_escape_string($id);
    $sql = "SELECT * FROM cms_content WHERE id = '$id'";

    $return = '<p><a href="index.php">Back to Content</a></p>';
else:
    $sql = "SELECT * FROM cms_content ORDER BY id DESC";
endif;

    $res = mysql_query($sql) or die(mysql_error());

    if(mysql_num_rows($res) != 0):
        while($row = mysql_fetch_assoc($res)) {
            echo '<h1><a href="index.php?id=' . $row['id'] . ' "> ' . $row['title'] . '</a></h1>';
            echo '<p>' . stripslashes($row['body']) . '</p>';
            **echo '<p>' . $row['date_posted'] . '</p>';**
            }
    else:
        echo '<p> You broke it!, this post dosn\'t exsist!';
    endif;

    echo $return;

echo '<p>' . $row['date_posted'] . '</p>'; 

是我回显日期的地方。当我从数据库中回显此内容时,我得到 2012-07-25 19:00:46,因为这就是数据库中的内容。我的问题是我将如何回显这一天,然后回显月份,然后是年份。理想情况下,这些都是单独的回声,所以我可以不同的风格。

4

5 回答 5

2

这更方便,代码更少。

$date = new DateTime($row['date_posted']);
$day = date->format('d');
$month = date->format('F');
$year = date->format('Y');

资源:http ://www.php.net/manual/en/class.datetime.php

于 2012-07-25T23:19:05.357 回答
1

由于格式是已知的,您可以简单地使用它:

list($year,$month,$day) = explode("-",substr($row['date_posted'],0,10));

然后你可以随心所欲地回显这些变量。

于 2012-07-25T23:16:47.800 回答
0

另一种选择是直接在 SQL 中执行此操作,使用 *date_format* 函数:http ://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

于 2012-07-25T23:18:45.213 回答
0
$date = strtotime($row['date_posted'];
echo date('d', $date);
echo date('m', $date);
echo date('Y', $date);

或者

$date = new DateTime($row['date_posted']);
echo $date->format('Y');

ETC

于 2012-07-25T23:15:17.217 回答
0

您将使用php内置date()函数:http ://us.php.net/manual/en/function.date.php

echo "<p>".date('j M, Y', $row['date_posted'])."</p>";
// would output <p>25 July, 2012</p>

这可以修改为您想要的任何格式。

于 2012-07-25T23:17:15.433 回答