加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php 复活节日期计算函数示例

发布时间:2020-05-25 04:53:33 所属栏目:PHP 来源:互联网
导读:php 复活节日期计算函数示例

本文实例讲述了php计算出复活节日期的函数 ,感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编来看看吧。
经测试代码如下:


/**
 * 日期计算函数
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
function isLeapYear( $nYEAR ) { 
  if ((( $nYEAR % 4 == 0 ) AND !( $nYEAR % 100 == 0 )) AND ( $nYEAR % 400 != 0 )) { 
    return TRUE; 
  } else { 
    return FALSE; 
  } 
}
function div( $a,$b ){ 
  return( $a - ( $a % $b )) / $b; 
}
function easterSunday( $nYEAR ) { 
  // The function is able to calculate the date of eastersunday back to the year 325,// but mktime() starts at 1970-01-01! 
  if ( $nYEAR < 1970 ) { 
    $dtEasterSunday = mktime( 1,1,1970 ); 
  } else { 
    $nGZ = ( $nYEAR % 19 ) + 1; 
    $nJHD = div( $nYEAR,100 ) + 1; 
    $nKSJ = div( 3 * $nJHD,4 ) - 12; 
    $nKORR = div( 8 * $nJHD + 5,25 ) - 5; 
    $nSO = div( 5 * $nYEAR,4 ) - $nKSJ - 10; 
    $nEPAKTE = (( 11 * $nGZ + 20 + $nKORR - $nKSJ ) % 30 ); 
    if (( $nEPAKTE == 25 OR $nGZ == 11 ) AND $nEPAKTE == 24 ) { 
      $nEPAKTE = $nEPAKTE + 1; 
    } 
    $nN = 44 - $nEPAKTE; 
    if( $nN < 21 ) { 
      $nN = $nN + 30; 
    } 
    $nN = $nN + 7 - (( $nSO + $nN ) % 7 ); 
    $nN = $nN + isLeapYear( $nYEAR ); 
    $nN = $nN + 59; 
     
    $nA = isLeapYear( $nYEAR ); 
    // Month 
    $nNM = $nN; 
    if ( $nNM > ( 59 + $nA )) { 
      $nNM = $nNM + 2 - $nA; 
    } 
    $nNM = $nNM + 91; 
    $nMONTH = div( 20 * $nNM,611 ) - 2; 
     
    // Day 
    $nNT = $nN; 
    $nNT = $nN; 
    if ( $nNT > ( 59 + $nA )) { 
      $nNT = $nNT + 2 - $nA; 
    } 
    $nNT = $nNT + 91; 
    $nM = div( 20 * $nNT,611 ); 
    $nDAY = $nNT - div( 611 * $nM,20 ); 
     
    $dtEasterSunday = mktime( 0,$nMONTH,$nDAY,$nYEAR ); 
  } 
  return $dtEasterSunday; 
}


/***   代码来自脚本之家 jb51.cc(jb51.cc)   ***/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读