我正在开发一个 PHP 应用程序,它将处理许多公司文章。
现在我正在创建一个页面,该页面应该按日期排序文章,即在某一天创建的所有文章都显示为所有文章的适当标题等等。
我使用 Unix 时间戳将日期保存在 MySql 数据库中,但我找不到仅按天对日期进行排序的代码。我能得到一些帮助吗?
谢谢
我正在开发一个 PHP 应用程序,它将处理许多公司文章。
现在我正在创建一个页面,该页面应该按日期排序文章,即在某一天创建的所有文章都显示为所有文章的适当标题等等。
我使用 Unix 时间戳将日期保存在 MySql 数据库中,但我找不到仅按天对日期进行排序的代码。我能得到一些帮助吗?
谢谢
您可以使用 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');
您可以按时间戳列排序,但如果您想要记录所属日期的字符串表示,您可以使用该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
你能做一个
SELECT DATE(FROM_UNIXTIME(my_field_name)) FROM table_x ORDER BY my_field_name