计算有效时间的时间戳

Love The Way You Lie 2022-07-16 02:42 304阅读 0赞
  1. /**债权匹配完成时间文案
  2. * @param $createTime
  3. * @param $curDate
  4. * @return string
  5. */
  6. private function calcMatchStr($createTime, $curDate ){
  7. if(!isset($createTime)){
  8. $str= $curDate->format("H")+1;
  9. }
  10. $createHour=intval($createTime->format("H"));
  11. $curHour=intval($curDate->format("H"));
  12. $str="";
  13. if($createHour<8){ //24点到8点不包括8点 [24,8)
  14. $t= $createTime->format("Y-m-d")." 10:00:00"; //生效时间 创建时间 年-月-日 10:00:00
  15. $succTime= strtotime($t); //生效时间 1.先把时间转化成 年-月-日格式 2. 把小时作为字符串添加上去(10:00:00) 3.转化成成时间戳
  16. if($succTime>=$curDate->getTimestamp()){ //如果还没有过生效时间
  17. $str="10点";
  18. }else{ //如果已经过了生效时间 还没有匹配 往后加一个小时
  19. $str= ($curHour+1)."点";
  20. }
  21. }else if($createHour<23){ //8点到23点 生效时间段 [8,23)
  22. $t= $createTime->format("Y-m-d")." ".($createHour+2).":00:00";
  23. $succTime= strtotime($t); //生效时间 1.先把时间转化成 年-月-日格式 2. 把小时作为字符串添加上去(当前小时+2:00:00) 3.转化成成时间戳
  24. if($succTime>=$curDate->getTimestamp()){ //如果还没有过生效时间
  25. $str=($createHour+2)."点";
  26. }else{ //如果已经过了生效时间 还没有匹配 往后加一个小时
  27. $str= ($curHour+1)."点";
  28. }
  29. }else if($createHour<24){ //23点到24点 [23,24)
  30. date_add($createTime, date_interval_create_from_date_string('1 days'));
  31. $t= $createTime->format("Y-m-d")." 10:00:00"; //生效时间 1.先把时间日期加一天 2.把日期变成 年-月-日格式 3. 把小时作为字符串添加上去(10:00:00) 4.转化成成时间戳
  32. $succTime= strtotime($t); //生效时间
  33. if($succTime>=$curDate->getTimestamp()){ //如果还没有过生效时间
  34. $str="次日10点";
  35. }else{ //如果已经过了生效时间 还没有匹配 往后加一个小时
  36. $str= ($curHour+1)."点";
  37. }
  38. }
  39. return "预计".$str."完成借款匹配";
  40. }

发表评论

表情:
评论列表 (有 0 条评论,304人围观)

还没有评论,来说两句吧...

相关阅读

    相关 jQuery时间计算(转时间)

            前段时间总是碰到时间间隔计算的问题,于是自己在网上找了一些计算方法,试了下,很多都是有问题的。本篇博客是根据网上的方法自己探索出来的,亲测没问题。 话不多说,