【发布时间】:2014-05-15 03:38:00
【问题描述】:
日期格式存在一些问题。它只显示前 30 天,过去它不想工作的任何内容。非常感谢任何想法/帮助。
$today=date("d-m-Y");
if(!$fetch_Tasks=mysql_query("SELECT * FROM `tasks` WHERE `due`<'".$today."'"))
showerror();
while($tasks=mysql_fetch_array($fetch_Tasks)){
$now = time();
$your_date = strtotime($tasks['due']);
$datediff = $now - $your_date;
echo "<font color=\"red\">[".floor($datediff/(60*60*24))." days overdue] </font>";
echo $tasks['task']."<br>";
}
【问题讨论】:
-
停止使用已弃用的
mysql_*函数;考虑使用 PDO / MySQLi -
列
due的数据类型是什么。另外我担心mysql会将此(d-m-Y)作为日期处理 -
您的问题的问题是您的数据库或结构是什么导致了这种情况。
-
如果
due是 unix_timestamp 那么$today必须是time() -
如果
due是一个日期字段,那么$today必须是 Y-m-d 格式而不是 d-m-Y