Php 剩余unix时间戳的持续时间

Php 剩余unix时间戳的持续时间,php,date,Php,Date,我有一个unix时间戳和一个持续时间,比如a year。我想了解如何根据开始unix时间戳确定持续时间剩余的时间。我要在一个月内完成 我想象它是这样的: 持续时间转换为秒 减去从今天开始到秒(已用) 减去从持续时间中经过的时间 以秒为单位将剩余转换为剩余 将剩余时间更改为月,并将剩余时间确定为天 我确信有一个php解决方案比我认为的设计更精确 更新 我有一个unix时间戳1564113711,即2019年7月26日。今天是1919年8月7日。我需要知道从2020年7月26日(从开始算起的一年

我有一个
unix时间戳和一个持续时间,比如
a year
。我想了解如何根据开始unix时间戳确定持续时间剩余的时间。我要在一个月内完成

我想象它是这样的:

  • 持续时间转换为秒
  • 减去从今天开始到秒(已用)
  • 减去从持续时间中经过的时间
  • 以秒为单位将剩余转换为剩余
  • 将剩余时间更改为月,并将剩余时间确定为天
我确信有一个php解决方案比我认为的设计更精确

更新

我有一个unix时间戳
1564113711
,即
2019年7月26日
。今天是1919年8月7日。我需要知道从2020年7月26日(从开始算起的一年)到今天2019年8月7日(其中经过的时间是从2019年7月26日到2019年8月7日)还有多少时间(以月和日为单位),DateTime对象和您需要的一切

$timeStamp = 1564113711; //26. Juli 2019
$duration = "1 Year";

$endDate = date_create("@".$timeStamp)->modify($duration);

$diff = date_create("today UTC")->diff($endDate);

//output
if($diff->invert) {
  echo "your time's up";
}
else {
  echo $diff->y * 12 + $diff->m." Month and ".$diff->d. " Days";
  //e.g. 10 Month and 24 Days
}

请提供示例输入和相应的预期结果。您没有向我们展示您的输入,也没有解释它不符合您的要求的原因。你说你想要预测,但要用月来衡量,然后转换成天——但月的长度是可变的(天也是如此)。在获得解决方案之前,您需要更好地定义问题。更新的问题PHP的
DateTimeInterval
类应提供您所需的内容。如果时差大于一年,您是否仍然只需要几个月和几天(26个月,11天)?或者你想要年、月、日(2年、2个月、11天)?