意外日期输出

时间:2015-10-02 12:04:21

标签: php datetime

我想在我当前的order_date中添加30天,这是自动从db中检索并显示提前30天的日期。但是当order_date是2015时,我得到的结果是这样的14437368002015-11-01 -10-01.1443736800在日期之前被添加。请帮忙!

while($row = mysqli_fetch_array($query)){


echo '<tr>'.
                                '<td align="center">'.$row['order_no'].'</td>'.
                                    '<td align="center">'.$row['order_date'].'</td>'.
                                    '<td align="center">'.$row['store_used'].'</td>'.
                                    '<td align="center">'.$row['status'].'</td>'.
                                    '<td align="center">'.'Rs.'.$row['cashback'].'</td>'.
                                    '<td align="center">'.$date = strtotime($row['order_date']);
$date = strtotime("+30 day", $date);
echo date('Y-m-d', $date);'</td>'.  
                                    '</tr>';
                            }
                            echo '</tbody></table></form>'."\n\n";
                mysqli_close($dbc2);
                ?>

结果:

Order ID    Order Date  Store Used  Status          Cashback    Est.Cashback.Date
134         2015-10-02  Flipkart    To be Checked   Rs.         14437368002015-11-01

2 个答案:

答案 0 :(得分:0)

似乎你有连接问题,你也可以直接使用像{/ p>这样的date函数

'<td align="center">'.date('Y-m-d',strtotime("{$row['order_date']} +30 days")).'</td>'.  

您的代码似乎是您的代码两次回显日期

'<td align="center">'.$date = strtotime($row['order_date']);//starting of td

echo date('Y-m-d', $date);'</td>'. //ending of td

答案 1 :(得分:0)

这应该对您有用,您没有在strtotime()之后转换日期。因此请将其转换为date()

$date = strtotime("2015-10-01");
$date = date("Y-m-d",strtotime("+30 day", $date));
echo $date;// outputs 2015-10-31