PHPで学歴計算ツールを作成

PHPで学歴計算ツールを作成

PHPで学齢計算ツールを作成しました。
そのソースを公開します。

学歴計算ツールはこちらになります。

学歴計算関数

//学歴計算関数
//引数 $yyyy 西暦年
//     $mm 西暦月
//     $dd 西暦日
//     $gakkou 0:小学校 1:中学校 2:高校 3:短大・専門 4:大学 
//     $nyusotsu 0:入学 1:卒業
//戻り値 学歴
function getGakureki($yyyy, $mm, $dd, $gakkou, $nyusotsu){
  
  $mmdd = sprintf("%02d%02d", $mm, $dd);
  
  $arr_gakureki[0][0] = 6; //小学校入学
  $arr_gakureki[0][1] = 12; //小学校卒業
  $arr_gakureki[1][0] = 12; //中学校入学
  $arr_gakureki[1][1] = 15; //中学校卒業
  $arr_gakureki[2][0] = 15; //高校入学
  $arr_gakureki[2][1] = 18; //高校卒業
  $arr_gakureki[3][0] = 18; //短大・専門入学
  $arr_gakureki[3][1] = 20; //短大・専門卒業
  $arr_gakureki[4][0] = 18; //大学入学
  $arr_gakureki[4][1] = 22; //大学卒業
  
  $add = 0;
  
  if($mmdd>=0402){
    $add = 1;
  }
  
  if($nyusotsu==0){
    $date = date("Y-m-d", mktime(0, 0, 0, 4, 1, $yyyy + $arr_gakureki[$gakkou][$nyusotsu] + $add));
  }
  else{
    $date = date("Y-m-d", mktime(0, 0, 0, 3, 31, $yyyy + $arr_gakureki[$gakkou][$nyusotsu] + $add));
  }
  
  $arr_date = explode("-", $date);
  
  $wareki = getWareki($arr_date[0], $arr_date[1], $arr_date[2]);
  
  return sprintf("%04d年(%s年)%2d月", $arr_date[0], $wareki, $arr_date[1]);
}

和暦計算関数

//学歴計算関数
//引数 $yyyy 西暦年
//     $mm 西暦月
//     $dd 西暦日
//戻り値 和暦
function getWareki($yyyy, $mm, $dd){
  $yyyymmdd = sprintf("%04d%02d%02d", $yyyy, $mm, $dd);
  
  if($yyyymmdd>=18680125 && $yyyymmdd<=19120729){
    $yyyy = $yyyy - 1867;
    
    if($yyyy==1){
      $wareki = "明治元";
    }
    else{
      $wareki = "明治" . $yyyy;
    }
  }
  elseif($yyyymmdd>=19120730 && $yyyymmdd<=19261225){
    $yyyy = $yyyy - 1911;
    
    if($yyyy==1){
      $wareki = "大正元";
    }
    else{
      $wareki = "大正" . $yyyy;
    }
  }
  elseif($yyyymmdd>=19261226 && $yyyymmdd<=19890107){
    $yyyy = $yyyy - 1925;
    
    if($yyyy==1){
      $wareki = "昭和元";
    }
    else{
      $wareki = "昭和" . $yyyy;
    }
  }
  elseif($yyyymmdd>=19890108 && $yyyymmdd<=20190430){
    $yyyy = $yyyy - 1988;
    
    if($yyyy==1){
      $wareki = "平成元";
    }
    else{
      $wareki = "平成" . $yyyy;
    }
  }
  elseif($yyyymmdd>=20190501){
    $yyyy = $yyyy - 2018;
    
    if($yyyy==1){
      $wareki = "令和元";
    }
    else{
      $wareki = "令和" . $yyyy;
    }
  }
  
  return $wareki;
}