Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中显示日期不同的年月日_Php_Diff - Fatal编程技术网

如何在PHP中显示日期不同的年月日

如何在PHP中显示日期不同的年月日,php,diff,Php,Diff,我希望系统显示天如果值为30天,则应显示1个月,如果月数为>12个月 然后系统应显示1年 例如,当输出为1天5个月0年时 所以我希望系统只显示5个月我不想显示天和年 下面是使用diff的基本代码 $date1=date_create("2013-03-15"); $date2=date_create("now"); $diff=date_diff($date1,$date2); echo $diff->format("%d days %m months %y years"); 输出为11

我希望系统显示如果值为30天,则应显示1个月,如果月数为>12个月

然后系统应显示1年

例如,当输出为1天5个月0年时

所以我希望系统只显示
5个月
我不想显示

下面是使用diff的基本代码

$date1=date_create("2013-03-15");
$date2=date_create("now");
$diff=date_diff($date1,$date2);
echo $diff->format("%d days %m months %y years");
输出为
11天1个月5年

由于显示的是我希望系统隐藏,只显示

因此,输出必须是这样的
5年


有人能告诉我怎么做吗?

你可以应用一个简单的
如果还有
条件来检查年、月、日是否大于0,并根据该条件显示其中任何一个

你可以这样做:-

if($diff->y > 0){
  echo $diff->format("%y years");
}else if($diff->m > 0){
  echo $diff->format("%m months");
}else if($diff->d > 0){
  echo $diff->format("%d days");
}else { 
  echo "Today"; 
}

输出:-

echo$diff->格式(“%y年”)这是伊萨哈,这是manual@Jazuly很高兴帮助你:):)