我正在为我们的产品页面制作产品预计到货时间(ETA),我很难让这个想法发挥作用。
我的PHP脚本如下:
$now = new DateTime(date("y:m:j",time()));
$eta = new DateTime($row['ArrivalDate']);
$diff = $now->diff($eta);
然后这就是我要存档的内容 如果$ diff< 30天后“30天内”
If $diff = or > 60days then output “2 months”
If $diff = or > 90 days then output “3 months”
If $diff > 365 days then output “over a year”
If $diff = 25 December then output “Date to be confirmed”
在ETA列中,我想将ETA显示为“2个月”
请帮助,我没有PHP大师
答案 0 :(得分:0)
这应该让你朝着正确的方向前进。你需要自己设计ifelseif或switch的逻辑,你应该能够处理它。
$ArrivalDate = '2013-05-21';
$now = new DateTime("now");
$eta = new DateTime($ArrivalDate);
$diff = $now->diff($eta);
//
$diffDays = $diff->format('%d');
$diffMonths = $diff->format('%m');
$diffYears = $diff->format('%y');
if ( $diffYears !='0' )
{
echo 'over a year';
}
if ( $diffDays < '31' )
{
echo 'within the next 30 days (' . $diffDays . ' days)';
}
if ( $diffMonths >= '1' )
{
echo 'within ' . $diffMonths . ' months';
}