每年最后四个月的颜色与php中的其他月份不同

时间:2014-05-19 15:01:10

标签: php mysql function date if-statement

我已计算加入日期到当前日期的员工体验(月)。我want every **last four months in a year** (eg 9-12 and 21-24 and 33-36 etc....) employee经验显示为不同颜色。(php code)

First year calculation has no problem after the years the conditions is not satisfy the `above criteria.`
This is my code but i need satisfy above criteria.

if($months % 9 == 0 || $months % 10 == 0 || $months % 11 == 0 || $months % 12 == 0)
  { 
  <span style="color:green;"><?php echo $u_tot_exp;?><span>
  }
  else
  { 
  <span style="color:black;"><?php echo $u_tot_exp;?><span>
  }

2 个答案:

答案 0 :(得分:1)

问题是你对模数运算符%的误解。您正在使用$months % 11 == 0表示&#34;如果月份是一年中的第11个&#34;,但这并不意味着什么。它实际上意味着&#34;如果月份是第一个月后的十一个倍数&#34;。所以这意味着11月一年(第11个月),然后是10月,下一个(第22个),然后是9月(第33个月)。

效果与% 10% 9相乘。如果我们假设第一年是2014年,它将选择以下几个月:

2014: September, October, November, December
2015: June, August, October, December
2016: March, June, September, December

%运算符通过计算左边的数字除以右边的数字时的余数来工作。由于我们多年来一直在工作,我们始终需要除以12.然后,您需要检查剩下的数字是否在3(即9月)和{{1}之间(即12月)。

0

请注意,我还修复了输出HTML的代码。

答案 1 :(得分:0)

**Finally i have get the result using this code.**   

 <?php 
$currentDate = date("d-m-Y");
    // joining_date is name of field in DB. 
    $date1 = date_create("".$u_joining_date.""); // 
    $date2 = date_create("".$currentDate."");
    $diff12 = date_diff($date2, $date1);
    $hub_days = $diff12->days;
    $months = $diff12->m;
    $years = $diff12->y;
    $tot_months = (($years * 12) + $months);
    //$monthsToGo = $months % 12;
    // months remaining in the year
    //$monthsmod = $monthsToGo % 10;
if ($tot_months != 0)
{
if($months % 9 == 0 || $months % 10 == 0 || $months % 11 == 0 || $months % 12 == 0)
{ 
?> 
<span style="color:green;"><?php echo $tot_months;?>month(s)<span>
<?php
}
else
{ 
?>
<span style="color:black;"><?php echo $tot_months;?>month(s)<span>
<?php 
}
}
?>