1

我正在开发一个 PHP 应用程序,它将处理许多公司文章。

现在我正在创建一个页面,该页面应该按日期排序文章,即在某一天创建的所有文章都显示为所有文章的适当标题等等。

我使用 Unix 时间戳将日期保存在 MySql 数据库中,但我找不到仅按天对日期进行排序的代码。我能得到一些帮助吗?

谢谢

4

3 回答 3

1

您可以使用 mktime() 来获取您想要用来装箱条目的时间戳:

http://us.php.net/manual/en/function.mktime.php

$timestamp_for_my_birthday = mktime(0,0,0,10,16,1984);
$timestamp_for_the_next_day = mktime(0,0,0,10,17,1984);

if($time > $timestamp_for_my_birthday && $time < $timestamp_for_the_next_day){
    // Time is on my birthday
}

要将其转换为 MySQL 查询:

$SQL = "SELECT * FROM dates WHERE date > $timestamp_for_my_birthday AND date < $timestamp_for_the_next_day;";

按日期订购,我认为它会是这样的:

SELECT * FROM dates ORDER BY FROM_UNIXTIME(time, '%M %d %Y');

于 2010-10-26T12:50:45.480 回答
1

您可以按时间戳列排序,但如果您想要记录所属日期的字符串表示,您可以使用该FROM_UNIXTIME(timestamp, 'format')函数获取日期的任何部分。

select FROM_UNIXTIME(timestampColumn, '%Y %m %d')

第二个参数中的格式值可以根据这里的表格进行调整:http: //dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

于 2010-10-26T12:52:17.160 回答
1

你能做一个

SELECT DATE(FROM_UNIXTIME(my_field_name)) FROM table_x ORDER BY my_field_name
于 2010-10-26T12:54:31.690 回答