我不明白为什么它不起作用。
存储在数据库中的日期,使用此
放到那里 $date2=Date('d/m/y', strtotime("+90 days"));
使用此信息存储在列中 varchar(255)latin1_swedish_ci
输出:
$get_w_date = $qr['r_e_date'];
print"
<tr><th colspan=\"2\"> <b>Warranty Status</b> </th></tr>";
if(strtotime($get_w_date) > time()) {
echo '<tr bgcolor=\"ff00ff\"> outcome 1';
} else {
echo '<tr bgcolor=\"00ff00\"> outcome 2';
}
无论数据库中的日期是否存在,它总是运行结果2 :(
答案 0 :(得分:0)
如果您没有将日期存储为字符串,这会更容易。
尝试使用STR_TO_DATE()
和UNIX_TIMESTAMP()
。你的SQL:
SELECT UNIX_TIMESTAMP(STR_TO_DATE(r_e_date, "%m/%d/%y")) as r_e_date
你的PHP:
$get_w_date = $qr['r_e_date'];
if($get_w_date > time()) {
答案 1 :(得分:0)
以下代码用于检查保存日期是否在 之前或之后1天:
<?php
$date = date('Y-m-d');
Echo "Today : $date<br/>";
$saved = "2013-12-29"; // For output i set the date instead of $qr['r_e_date'];
$previous_date = date('Y-m-d', strtotime($saved .' -1 day'));
Echo "Previous to saved date : $previous_date<br/>";
$next_date = date('Y-m-d', strtotime($saved .' +1 day'));
Echo "Next to saved date : $next_date<br/><br/>";
if($previous_date == $date)
{
Echo "Before";
}
else if($next_date == $date)
{
Echo "After";
}
?>
注意上述代码在数据库中的工作日期必须以Y-m-d
(年 - 月 - 日)格式存储。
如果您想 删除1天限制 ,您可以使用以下代码检查之前,之后或同一日期:
<?php
$date = date('Y-m-d');
Echo "Today : $date<br/>";
$todayA=explode("-",$date);
$saved = "2014-01-03"; // For output i set the date instead of $qr['r_e_date'];
Echo "Saved : $saved<br/><br/>";
$savedA=explode("-",$saved);
if($savedA[0]==$todayA[0])
{
if($savedA[1]==$todayA[1])
{
if($savedA[2]==$todayA[2])
{
Echo "Same Date";
}
else if($savedA[2]<$todayA[2])
{
Echo "Before";
}
else
{
Echo "After";
}
}
else if($savedA[1]<$todayA[1])
{
Echo "Before";
}
else
{
Echo "After";
}
}
else if($savedA[0]<$todayA[0])
{
Echo "Before";
}
else
{
Echo "After";
}
?>