我有一个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');
演示