保证时间计算产品使用PHP无法正常工作

时间:2015-07-28 04:33:33

标签: php date

我正在研究产品的保修时间。产品保修2年0个月。这些产品是在这些日期'2015-07-24'购买的。我想计算这些产品的剩余保修时间。使用以下代码,我将剩余保修期限定为“1年,12个月,2天”。但实际保修期为“2年”,剩余保修期为“1年,12个月,2天”。保修期更长然后是实际保修。产品在4天前,即'2015-07-24'之前购买。

使用这些代码

     $date3= '2015-07-24';
     $warranty_year= 2;
     $warranty_month    = 0;
     $newDate = date('Y-m-d', strtotime($date3. " + {$warranty_year} year"));
     $newDate2 = date('Y-m-d', strtotime("+{$warranty_month} months",  strtotime($newDate)));
     $current_date=date("Y-m-d");
     $date1Timestamp = strtotime($current_date);
     $date2Timestamp = strtotime($newDate2);
     $diff = $date2Timestamp - $date1Timestamp;
     $years = floor($diff / (365*60*60*24));
     $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
     $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/   (60*60*24));
     printf("%d Years, %d Months, %d Days\n", $years, $months, $days);

有人帮帮我吗?

1 个答案:

答案 0 :(得分:3)

$ warranty =购买日期+ 2年; // dateof purchase将其作为db中的变量写入 $ date1 = date_create($ warranty); //这是2年后的保修时间 $ date2 = date_create(日期(" Y-m-d H:i:s")); //这给出了当前时间 $ DIFF = date_diff($ DATE1,$ DATE2); $ noOfDays = $ diff->格式("%a天%H:%i:%s小时"); echo $ noOfDays;