将mysql时间戳格式化为有意义的内容

时间:2011-11-24 20:22:15

标签: php mysql timestamp date-formatting

我的数据库为每篇文章使用TIMESTAMP列,只要将文章写入数据库,就会将数据写入其中。这是由数据库使用CURRENT_TIMESTAMP作为列的默认值自动完成的。

不幸的是,日期显示为2011-11-24 19:26:57,这对任何事情都不理想。

我想要做的是以与Thu 24 Nov 2011 19:26:57相同的格式将其写入我的页面。

有什么建议吗?

8 个答案:

答案 0 :(得分:3)

  

这对任何事情都不理想。

你错了。它确实是排序日期的唯一理想选择。

对于格式化,PHP和mysql分别具有strtotime()+ date()和DATE_FORMAT()。

另请注意,您可能希望将TIMESTMP更改为DATETIME格式,因为前者很容易被意外更改,从而破坏整个数据库。

答案 1 :(得分:1)

你可以使用MySQL DATE_FORMAT函数,以你喜欢的方式形成时间戳,看看这个链接http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

答案 2 :(得分:0)

看看:http://php.net/manual/en/function.date-parse.php这会构建一个表示日期的字符串数组,然后您可以根据需要设置“您的”日期格式。

答案 3 :(得分:0)

还有mysql函数DATE_FORMAT

e.g。 SELECT DATE_FORMAT('2009-10-04 22:23:00','%W%M%Y');

- > '2009年10月10日'

答案 4 :(得分:0)

您可以使用MySql内置函数格式化日期时间列

SELECT DATE_FORMAT(your_col, '%a %d %b %Y %k:%i:%s')
FROM your_table

答案 5 :(得分:0)

您可以在PHP或MySQL中执行此操作:

PHP代码:

<php
    $formattedDate = strftime('%a %e %b %Y %T',strtotime($mysqlDate));
?>

MySQL代码:

SELECT DATE_FORMAT('%W %e %M &Y %T', date_col);

信息:http://www.php.net/manual/en/function.strftime.phphttp://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

答案 6 :(得分:0)

你实际上有几个选择。其中之一是使用MySQL directly

符合您需要的示例是:

SELECT field1, field2, DATE_FORMAT(dateField, '%a %e %b %Y %T') AS theDateFROM table;

另一个选择是直接使用PHP中的date()strtotime()函数以及时间戳:

<?php echo date("D j M Y H:i:s", strtotime($datetime_from_database)); ?>

答案 7 :(得分:-1)

我希望这对你有好处

1

<?php date("D M j G:i:s T Y"); ?>

2

<?php date("F j, Y, g:i a"); ?>

1

星期六9月9日4:13:18 CDT 2006

2

2006年9月9日,上午4:13