1

我的数据库为每篇文章使用一个 TIMESTAMP 列,每当一篇文章写入数据库时​​,该列都会将数据写入其中。这是由数据库使用 CURRENT_TIMESTAMP 作为列的默认值自动完成的。

不幸的是,日期似乎2011-11-24 19:26:57不适合 - 好吧 - 任何事情。

我想做的是以与Thu 24 Nov 2011 19:26:57.

有什么建议吗?

4

8 回答 8

3

这对于 - 好吧 - 任何东西都不理想。

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

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

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

于 2011-11-24T20:28:34.210 回答
1

您可以使用 MySQL DATE_FORMAT 函数以您喜欢的方式格式化时间戳,请参阅此链接http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

于 2011-11-24T20:26:05.250 回答
0

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

于 2011-11-24T20:24:11.030 回答
0

还有mysql函数DATE_FORMAT

例如 SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');

-> '2009 年 10 月星期日'

于 2011-11-24T20:26:56.320 回答
0

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

SELECT DATE_FORMAT(your_col, '%a %d %b %Y %k:%i:%s')
FROM your_table
于 2011-11-24T20:30:17.890 回答
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.php,http: //dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#函数日期格式

于 2011-11-24T20:31:53.243 回答
0

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

匹配您需要的示例是:

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)); ?>
于 2011-11-24T20:33:33.370 回答
-1

我希望这对你有好处

1

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

2

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

1

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

2

2006 年 9 月 9 日凌晨 4 点 13 分

于 2011-11-24T20:31:58.033 回答