>  기사  >  백엔드 개발  >  php取数目字

php取数目字

WBOY
WBOY원래의
2016-06-13 11:59:201045검색

php取数字

本帖最后由 jaredlong 于 2014-05-31 20:33:46 编辑 通过row获取到数据库中一字段的值$row['tkpc']
tkpc的值有TKPC10069999(从左到右意思是10年6月份),TKPC1010093A(10年10月份),TKPC12030AE3(12年3月份)
如何比较这些值有没有超过5年。
------解决方案--------------------
思路:根据字符串截取年月 例如:TKPC10069999 截取得到1006再转化为时间为$newtime,
再与当前时间加上5年比较,$addfiveyear = strtotime("+5 year",time())

具体自己可以去试着实现

if ($newtime > $addfiveyear){
    echo "超过5年";
}
------解决方案--------------------
字符串比大小,印象中应该是按字节依次比较ASCII值
也就是说,TKPC10069999这种字符串不需要额外处理可以直接比较
马上过节了,按2014-6-1算,用date('Ym')生成1406,减5年前后拼接成TKPC09060000,直接跟它比大小
------解决方案--------------------
引用:
$x="TKMB15030WE5";
  $year = substr($x,4,2);
  $month = substr($x,6,2);
  $tkpc = strtotime('$year-$month');
$addfiveyear = strtotime("+5 year",time());
 echo "$tkpc";
 echo "和" ;
 echo "$addfiveyear";

尝试失败了。$tkpc输出不了


<br /><?php<br /><br />$arr = array('TKPC10069999', 'TKPC1010093A', 'TKPC12030AE3');<br />foreach($arr as $val){<br />    check5years($val);<br />}<br /><br />echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';<br /><br />function check5years($str){<br />    $year = substr($str, 4, 2);<br />    $month = substr($str, 6, 2);<br />    $tkpc = strtotime('20'.$year.'-'.$month.'-01');<br />    echo $str.'<br>';<br />    echo 'tkpc:'.$tkpc.'<br>';<br />    if(strtotime("+5 year", $tkpc)<time()){<br />        echo '超过5年';<br />    }else{<br />        echo '未超过5年';<br />    }<br />    echo '<br><br>';<br />}<br /><br />?><br />

------解决方案--------------------
echo $row['tkpc'], 4, 2) * 12 + $row['tkpc'], 6, 2) > (date('y') - 5) * 12 + date('m') ? '未满5年' : '满5年';
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.