mysql时间戳格式

时间:2011-10-19 21:04:29

标签: mysql date

我在表格中存储了time_stamp,我希望将其格式化为YYYY-MM-DD HH-MM-SS,以显示为2011年10月19日。

我对此有点新意,但我想我需要设置一个新的变量来获取time_stamp并将其转换。

$mydate = DATEFORMAT(columnName, %b-%D-%Y);

对我来说不是很合适我是在正确的轨道上吗?

谢谢大家

我认为日期的事情是正确的我认为..它只是没有显示日期。我有一个循环遍历每一行,直到没有更多:

$query  = "SELECT comment, DATE_FORMAT(postdate, '%b %D %Y') FROM sessionscomments WHERE session = 'Geoarge'";
$result = mysql_query($query);

while($row = mysql_fetch_assoc($result))
{

    echo    "<div id=fav>";
    echo    strip_tags( "Date: {$row['postdate']}");

那么我仍然需要将我的格式化日期变成一个变量,以便它将每行格式化吗?

3 个答案:

答案 0 :(得分:4)

如果要在SQL查询中进行格式化,可以使用MySQL中的DATE_FORMAT() function

SELECT DATE_FORMAT(columnName, '%b %D %Y') AS my_date
FROM tableName;

使用PHP格式化日期,您需要在PHP中使用date() function

$my_date = date('M jS Y', $timestamp);

答案 1 :(得分:1)

你肯定是在正确的轨道上!

与您的示例的不同之处在于您需要将日期格式指定为字符串 - 您可以通过用单引号(')包围它并删除连字符(-)来执行此操作:

DATE_FORMAT(columnName, '%b %D %Y')

顺便说一句,如果您只是在普通SELECT查询中使用此功能,则可以将此表达式内联放置在列名称的位置,并使用AS关键字为其命名。例如:

SELECT someColumn, anotherColumn, DATE_FORMAT(dateColumn, '%b %D %Y') AS formattedDate

可能会返回类似的内容:

+------------+---------------+---------------+
| someColumn | anotherColumn | formattedDate |
+------------+---------------+---------------+
| 1          | 2             | Oct 19th 2011 |
| 2          | 6             | Feb 26th 1989 |
+------------+---------------+---------------+

答案 2 :(得分:0)

我假设你只是用mysql而不是连接到mysql的其他语言。我希望这会有所帮助:

DATE_FORMAT(columnName, '%b %D %Y')