PHP将日期时间与时间相加,得到时间差



我有一个mysql日期时间对象,让我们称之为"购买日期",就像2014-04-15 14:47:39一样。我还有一个mysql时间对象,我们称之为"保质期",就像168:00:00一样,这意味着产品在购买日期后的保质期为168小时,即7天。我想知道这款产品还有多少天才能过期,使用以下配方(或类似配方)

daysMaintainingBeforeExpiring=[purchase_date(datetime)+shelf_life(time)]-now(datetime)

如果我的公式错误,请纠正我,但我认为这应该返回此项目过期前的天数(如果过期,则返回负数)。如何在PHP中对日期时间和时间对象执行此数学运算?

$purchase_date = new DateTime('2014-04-15 14:47:39');
list($hours, $minutes, $seconds) = explode(':', '168:00:00');
$shelf_life    = new DateInterval("PT{$hours}H{$minutes}M{$seconds}S");
$expires_date  = $purchase_date->add($shelf_life); 
$now           = new DateTime();
$diff          = $now->diff($expires_date);
echo $diff->format('%r%d Days');

演示

相关内容

  • 没有找到相关文章

最新更新