我在表格中存储了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']}");
那么我仍然需要将我的格式化日期变成一个变量,以便它将每行格式化吗?
答案 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')