如何在 PHP 中使用 date_diff 显示月份或年份
How to Show Days Month or Year with date_diff in PHP
如果值为 <30 天.
,我希望系统显示 天
但是当值 >30 天 它应该显示 1 月 并且月数是 >12月,
那么系统应该显示1年。
例如输出为1天5个月0年
所以我希望系统只显示 5 months
我不想显示 天 和 年
这里是使用 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 days 1 months 5 years
。
由于显示 年 我希望系统隐藏 日 和 月 和只显示年.
所以,输出必须像这样 5 years
。
谁能告诉我怎么做
您可以应用一个简单的 if-else
条件来检查年、月、日是否大于 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";
}
如果值为 <30 天.
,我希望系统显示 天但是当值 >30 天 它应该显示 1 月 并且月数是 >12月,
那么系统应该显示1年。
例如输出为1天5个月0年
所以我希望系统只显示 5 months
我不想显示 天 和 年
这里是使用 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 days 1 months 5 years
。
由于显示 年 我希望系统隐藏 日 和 月 和只显示年.
所以,输出必须像这样 5 years
。
谁能告诉我怎么做
您可以应用一个简单的 if-else
条件来检查年、月、日是否大于 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";
}