ホームにもどる


これは私のつくった関数である。ubuntu Linux上では、今の所問題なく動いている。Windows では動作を確認していない。
不備な所やもっとスマートに書くことができる所があれば、指摘していただくと幸いである。
Linux上で動かしているため、年月日は年-月-日の形で入力することを前提としている。

PHP
   age 年齢を計算する
   commasuji 数字をコンマで区切る
   dateformat 年月日の表示形式を変更
   egfr eGFRを返す
   gosha 0.5以下なら切り捨て、0.5より大きいなら切り上げる
   mk_nengappi 年月日のUNIXタイムスタンプを返す
   nendo 年月日の年度を返す
   nengappi_hikaku 年月日を比較
   nengetsu 年月日の年月を返す
   nissu 日数を計算する
   nissutsuika 任意の年月日に任意の日数を追加した年月日を返す
   nochi_nengappi 後の年月日を得る
   rishizei 利子にかかる税金を返す
   seireki_henkan 西洋暦を和暦に変える
   shishagonyu 指定した桁で四捨五入する
   tsukisu 〜年〜月の日数を返す
   wareki_henkan 和暦を西洋暦に変える
   yobi ある年月日の曜日を得る
   zeibikigorishi 税引き後利子を返す

dateformat 年月日の表示形式を変更
年月日を年-月-日 (例えば2013-3-6)の形式で表現しているものを引数として、〜年〜月〜日(例えば2013年3月6日)の形式に変えたものを返す。
function dateformat($dimNengappi){
    list($dimNengappi_Nen, $dimNengappi_Tsuki, $dimNengappi_Hi) = explode('-', $dimNengappi); 
	$dimNengappi_Nen=floor($dimNengappi_Nen);
	$dimNengappi_Tsuki=floor($dimNengappi_Tsuki);
	$dimNengappi_Hi=floor($dimNengappi_Hi);
 	$dimNengappi2=date("Y年n月j日",mktime(0,0,0,$dimNengappi_Tsuki,$dimNengappi_Hi,$dimNengappi_Nen));
    return $dimNengappi2;
}
/* explodeは引数の文字列を指定した文字で区切る関数である。listは右辺の配列の要素を変数に代入する関数である。*/

使用例
<?php
function dateformat($dimNengappi){
    list($dimNengappi_Nen, $dimNengappi_Tsuki, $dimNengappi_Hi) = explode('-', $dimNengappi); 
	$dimNengappi_Nen=floor($dimNengappi_Nen);
	$dimNengappi_Tsuki=floor($dimNengappi_Tsuki);
	$dimNengappi_Hi=floor($dimNengappi_Hi);
 	$dimNengappi2=date("Y年n月j日",mktime(0,0,0,$dimNengappi_Tsuki,$dimNengappi_Hi,$dimNengappi_Nen));
    return $dimNengappi2;
}

$nengappi="2013-9-29";
$nengappi2=dateformat($nengappi);
echo "dateformat関数は、".$nengappi."が引数だと".$nengappi2."を返します。<br>";
?>
最初にもどる

nissu 日数を計算する。
第1引数と第2引数に年月日をとり、第1引数の年月日から第2引数の年月日までの日数を返す。
function nissu($Nissu1,$Nissu2){
    list($Nissu1_Nen, $Nissu1_Tsuki, $Nissu1_Hi) = explode('-', $Nissu1); 
    list($Nissu2_Nen, $Nissu2_Tsuki, $Nissu2_Hi) = explode('-', $Nissu2);
	$Nissu1_mktime=mktime(0,0,0,$Nissu1_Tsuki,$Nissu1_Hi,$Nissu1_Nen);
	$Nissu2_mktime=mktime(0,0,0,$Nissu2_Tsuki,$Nissu2_Hi,$Nissu2_Nen);
	$Nissu=floor(($Nissu2_mktime-$Nissu1_mktime)/(60*60*24));
    return $Nissu;
}
/* explodeは引数の文字列を指定した文字で区切る関数である。listは右辺の配列の要素を変数に代入する関数である。*/

使用例
<?php
function nissu($Nissu1,$Nissu2){
    list($Nissu1_Nen, $Nissu1_Tsuki, $Nissu1_Hi) = explode('-', $Nissu1); 
    list($Nissu2_Nen, $Nissu2_Tsuki, $Nissu2_Hi) = explode('-', $Nissu2);
	$Nissu1_mktime=mktime(0,0,0,$Nissu1_Tsuki,$Nissu1_Hi,$Nissu1_Nen);
	$Nissu2_mktime=mktime(0,0,0,$Nissu2_Tsuki,$Nissu2_Hi,$Nissu2_Nen);
	$Nissu=floor(($Nissu2_mktime-$Nissu1_mktime)/(60*60*24));
    return $Nissu;
}

$nengappi="2013-5-7";
$nengappi2="2013-9-30";
$keika_nissuu=nissu($nengappi,$nengappi2);
echo $nengappi."から".$nengappi2."までの日数は".$keika_nissuu."日です。"."<br>";
?>
最初にもどる

age 年齢を計算する
age(生年月日,年齢を出したい年月日)の形で、引数をとる。
年齢を返す。
function age($Seinengappi,$Kirokubi){
    list($Seinengappi_Nen, $Seinengappi_Tsuki, $Seinengappi_Hi) = explode('-', $Seinengappi); 
/* explodeは引数の文字列を指定した文字で区切る関数である。listは右辺の配列の要素を変数に代入する関数である。*/
    list($Kirokubi_Nen, $Kirokubi_Tsuki, $Kirokubi_Hi) = explode('-', $Kirokubi);
	$Seinengappi=date("Ymd",mktime(0,0,0,$Seinengappi_Tsuki,$Seinengappi_Hi,$Seinengappi_Nen));
	$Kirokubi=date("Ymd",mktime(0,0,0,$Kirokubi_Tsuki,$Kirokubi_Hi,$Kirokubi_Nen));
	$Nenrei=floor(($Kirokubi-$Seinengappi)/10000);
    return $Nenrei;
}
/* mktimeの引数は時、分、秒、月、日、年 の順で並べる。dateは第1引数がフォーマットの形で、第2引数がタイムスパンである。タイムスパンを指定されたフォーマットの形で返す。Yは4桁の年、mは2桁の月、dは2桁の日 のファーマットである。ここは19980423 のような形で年月日を表現しようとしているのである。*/

使用例
<?php
function age($Seinengappi,$Kirokubi){
    list($Seinengappi_Nen, $Seinengappi_Tsuki, $Seinengappi_Hi) = explode('-', $Seinengappi); 
    list($Kirokubi_Nen, $Kirokubi_Tsuki, $Kirokubi_Hi) = explode('-', $Kirokubi);
	$Seinengappi=date("Ymd",mktime(0,0,0,$Seinengappi_Tsuki,$Seinengappi_Hi,$Seinengappi_Nen));
	$Kirokubi=date("Ymd",mktime(0,0,0,$Kirokubi_Tsuki,$Kirokubi_Hi,$Kirokubi_Nen));
	$Nenrei=floor(($Kirokubi-$Seinengappi)/10000);
    return $Nenrei;
}

$seinengappi="1967-8-6";
$nenrei_nengappi="2013-7-30";
$nenrei=age($seinengappi,$nenrei_nengappi);
echo "生年月日が".$seinengappi."の人は".$nenrei_nengappi."に、".$nenrei."歳です。"."<br>";
?>
最初にもどる

yobi ある年月日の曜日を得る
年月日を引数とし、曜日は月曜、火曜、水曜、木曜、金曜、土曜、日曜の形で返す。
function yobi($Nengappi){
    list($Nengappi_Nen, $Nengappi_Tsuki, $Nengappi_Hi) = explode('-', $Nengappi); 
/* explodeは引数の文字列を指定した文字で区切る関数である。listは右辺の配列の要素を変数に代入する関数である。*/
	$e_yobi=date("D",mktime(0,0,0,$Nengappi_Tsuki,$Nengappi_Hi,$Nengappi_Nen));
	if($e_yobi=="Sun"){
	$j_yobi="日曜";
	}
	elseif($e_yobi=="Mon"){
	$j_yobi="月曜";
	}
	elseif($e_yobi=="Tue"){
	$j_yobi="火曜";
	}
	elseif($e_yobi=="Wed"){
	$j_yobi="水曜";
	}
	elseif($e_yobi=="Thu"){
	$j_yobi="木曜";
	}
	elseif($e_yobi=="Fri"){
	$j_yobi="金曜";
	}
	elseif($e_yobi=="Sat"){
	$j_yobi="土曜";
	}
    return $j_yobi;
}

使用例
<?php
function yobi($Nengappi){
    list($Nengappi_Nen, $Nengappi_Tsuki, $Nengappi_Hi) = explode('-', $Nengappi); 
	$e_yobi=date("D",mktime(0,0,0,$Nengappi_Tsuki,$Nengappi_Hi,$Nengappi_Nen));
	if($e_yobi=="Sun"){
	$j_yobi="日曜";
	}
	elseif($e_yobi=="Mon"){
	$j_yobi="月曜";
	}
	elseif($e_yobi=="Tue"){
	$j_yobi="火曜";
	}
	elseif($e_yobi=="Wed"){
	$j_yobi="水曜";
	}
	elseif($e_yobi=="Thu"){
	$j_yobi="木曜";
	}
	elseif($e_yobi=="Fri"){
	$j_yobi="金曜";
	}
	elseif($e_yobi=="Sat"){
	$j_yobi="土曜";
	}
    return $j_yobi;
}

$shiteibi="1954-12-6";
$yobi_shiteibi=yobi($shiteibi);
echo $shiteibi."の曜日は".$yobi_shiteibi."です。"."<br>";
?>
最初にもどる

wareki_henkan 和暦を西洋暦に変える
和暦を引数にとり、西洋暦を返す。
和暦は明治をMまたはm、大正をTまたはt、昭和をSまたはs、平成をHまたはhであらわし、年と月、月と日の間をハイフォンでつなぐ。
例えば、平成13年4月8日なら、h13-4-8 と書く。
function wareki_henkan($wareki){
	list($nengo_nen, $tsuki, $hi) = explode('-', $wareki);
	$nengo=mb_substr($nengo_nen,0,1); /* $nengo_nenの最初の1文字を取り出す。*/
	$nen=mb_substr($nengo_nen,1); /* $nengo_nen2番目の文字以後を取り出す。*/
	$suji_nen=intval($nen);  /* 文字列を数値型に変換する。*/
	$suji_tsuki=intval($tsuki); 
	$suji_hi=intval($hi);  
	if($nengo=="m" or $nengo=="M"){
		$seireki_nen=1867+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($nengo=="t" or $nengo=="T"){
		$seireki_nen=1911+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($nengo=="s" or $nengo=="S"){
		$seireki_nen=1925+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($nengo=="h" or $nengo=="H"){
		$seireki_nen=1988+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}				
    return $seireki;
}

使用例
<?php
function wareki_henkan($wareki){
	list($nengo_nen, $tsuki, $hi) = explode('-', $wareki);
	$nengo=mb_substr($nengo_nen,0,1);
	$nen=mb_substr($nengo_nen,1);
	$suji_nen=intval($nen);
	$suji_tsuki=intval($tsuki); 
	$suji_hi=intval($hi);  
	if($nengo=="m" or $nengo=="M"){
		$seireki_nen=1867+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($nengo=="t" or $nengo=="T"){
		$seireki_nen=1911+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($nengo=="s" or $nengo=="S"){
		$seireki_nen=1925+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($nengo=="h" or $nengo=="H"){
		$seireki_nen=1988+$suji_nen;
		$seireki=$seireki_nen."-".$suji_tsuki."-".$suji_hi;
	}				
    return $seireki;
}

$wareki1="h10-3-4";
$wareki2="t12-7-8";
$seiyoreki1=wareki_henkan($wareki1);
$seiyoreki2=wareki_henkan($wareki2);
echo $wareki1."の西洋暦は".$seiyoreki1."です。"."<br>";
echo $wareki2."の西洋暦は".$seiyoreki2."です。"."<br>";
?>
最初にもどる

seireki_henkan 西洋暦を和暦に変える
西洋暦を引数にとり、和暦を返す。
和暦は明治をMまたはm、大正をTまたはt、昭和をSまたはs、平成をHまたはhであらわし、年と月、月と日の間をハイフォンでつなぐ。
例えば、平成13年4月8日なら、h13-4-8 と書く。
function seireki_henkan($seiyoreki){
	list($nen, $tsuki, $hi) = explode('-', $seiyoreki);
	$suji_nen=intval($nen);  /* 文字列を数値型に変換する。*/
	$suji_tsuki=intval($tsuki); 
	$suji_hi=intval($hi); 
 	if($suji_nen==1868){
		if($suji_tsuki==9){
			if($suji_hi>=8){
				$wareki_nen=$suji_nen-1867;
				$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}
		elseif($suji_tsuki>=10){
			$wareki_nen=$suji_nen-1867;
			$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
	}
	elseif($suji_nen>=1869 and $suji_nen<=1911){
		$wareki_nen=$suji_nen-1867;
		$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($suji_nen==1912){
		if($suji_tsuki<=6){
			$wareki_nen=$suji_nen-1867;
			$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
		elseif($suji_tsuki==7){
			if($suji_hi<=29){
				$wareki_nen=$suji_nen-1867;
				$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
			elseif($suji_hi>=30){
				$wareki_nen=$suji_nen-1911;
				$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}		
		elseif($suji_tsuki>=8){
			$wareki_nen=$suji_nen-1911;
			$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
	}
	elseif($suji_nen>=1913 and $suji_nen<=1925){
		$wareki_nen=$suji_nen-1911;
		$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($suji_nen==1926){
		if($suji_tsuki<=11){
			$wareki_nen=$suji_nen-1911;
			$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
		elseif($suji_tsuki==12){
			if($suji_hi<=24){
				$wareki_nen=$suji_nen-1911;
				$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
			elseif($suji_hi>=25){
				$wareki_nen=$suji_nen-1925;
				$wareki="s".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}		
	}
	elseif($suji_nen>=1927 and $suji_nen<=1988){
		$wareki_nen=$suji_nen-1925;
		$wareki="s".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($suji_nen==1989){
		if($suji_tsuki==1){
			if($suji_hi<=7){
				$wareki_nen=$suji_nen-1925;
				$wareki="s".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
			elseif($suji_hi>=8){
				$wareki_nen=$suji_nen-1988;
				$wareki="h".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}
		elseif($suji_tsuki>=2){
			$wareki_nen=$suji_nen-1988;
			$wareki="h".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}		
	}
	elseif($suji_nen>=1990){
		$wareki_nen=$suji_nen-1988;
		$wareki="h".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
    return $wareki;
}

使用例
<?php
function seireki_henkan($seiyoreki){
	list($nen, $tsuki, $hi) = explode('-', $seiyoreki);
	$suji_nen=intval($nen);  /* 文字列を数値型に変換する。*/
	$suji_tsuki=intval($tsuki); 
	$suji_hi=intval($hi); 
 	if($suji_nen==1868){
		if($suji_tsuki==9){
			if($suji_hi>=8){
				$wareki_nen=$suji_nen-1867;
				$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}
		elseif($suji_tsuki>=10){
			$wareki_nen=$suji_nen-1867;
			$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
	}
	elseif($suji_nen>=1869 and $suji_nen<=1911){
		$wareki_nen=$suji_nen-1867;
		$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($suji_nen==1912){
		if($suji_tsuki<=6){
			$wareki_nen=$suji_nen-1867;
			$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
		elseif($suji_tsuki==7){
			if($suji_hi<=29){
				$wareki_nen=$suji_nen-1867;
				$wareki="m".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
			elseif($suji_hi>=30){
				$wareki_nen=$suji_nen-1911;
				$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}		
		elseif($suji_tsuki>=8){
			$wareki_nen=$suji_nen-1911;
			$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
	}
	elseif($suji_nen>=1913 and $suji_nen<=1925){
		$wareki_nen=$suji_nen-1911;
		$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($suji_nen==1926){
		if($suji_tsuki<=11){
			$wareki_nen=$suji_nen-1911;
			$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}
		elseif($suji_tsuki==12){
			if($suji_hi<=24){
				$wareki_nen=$suji_nen-1911;
				$wareki="t".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
			elseif($suji_hi>=25){
				$wareki_nen=$suji_nen-1925;
				$wareki="s".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}		
	}
	elseif($suji_nen>=1927 and $suji_nen<=1988){
		$wareki_nen=$suji_nen-1925;
		$wareki="s".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
	elseif($suji_nen==1989){
		if($suji_tsuki==1){
			if($suji_hi<=7){
				$wareki_nen=$suji_nen-1925;
				$wareki="s".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
			elseif($suji_hi>=8){
				$wareki_nen=$suji_nen-1988;
				$wareki="h".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
			}
		}
		elseif($suji_tsuki>=2){
			$wareki_nen=$suji_nen-1988;
			$wareki="h".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
		}		
	}
	elseif($suji_nen>=1990){
		$wareki_nen=$suji_nen-1988;
		$wareki="h".$wareki_nen."-".$suji_tsuki."-".$suji_hi;
	}
    return $wareki;
}

$seiyoreki1="1953-10-15";
$seiyoreki2="2013-6-7";
$wareki1=seireki_henkan($seiyoreki1);
$wareki2=seireki_henkan($seiyoreki2);
echo $seiyoreki1."の和暦は".$wareki1."です。"."<br>";
echo $seiyoreki2."の和暦は".$wareki2."です。"."<br>";
?>
最初にもどる

nendo 年月日の年度を返す
年月日が引数
年度を返す。
function nendo($nengappi){
    list($nen,$tsuki,$hi) = explode('-',$nengappi); 
/* explodeは引数の文字列を指定した文字で区切る関数である。listは右辺の配列の要素を変数に代入する関数である。*/
	if($tsuki==1 or $tsuki==2 or $tsuki==3){
		$nendo=$nen-1;
	}
	else{
		$nendo=$nen;
	}
    return $nendo;
}

使用例
<?php
function nendo($nengappi){
    list($nen,$tsuki,$hi) = explode('-',$nengappi); 
/* explodeは引数の文字列を指定した文字で区切る関数である。listは右辺の配列の要素を変数に代入する関数である。*/
	if($tsuki==1 or $tsuki==2 or $tsuki==3){
		$nendo=$nen-1;
	}
	else{
		$nendo=$nen;
	}
    return $nendo;
}

$seiyooreki1="2010-3-4";
$seiyooreki2="1976-4-1";
$nendo1=nendo($seiyooreki1);
$nendo2=nendo($seiyooreki2);
echo $seiyooreki1."は".$nendo1."年度です。"."<br>";
echo $seiyooreki2."は".$nendo2."年度です。"."<br>";
?>
最初にもどる

nengetsu 年月日の年月を返す
年月日が引数
~年~月と返す。
function nengetsu($nengappi){
	list($nen,$tsuki,$hi) = explode('-',$nengappi);
	$mk_nengappi=mktime(0,0,0,$tsuki,$hi,$nen);
	$nengetsu=date("Y年n月",$mk_nengappi);
	return $nengetsu;
}

使用例
<?php
function nengetsu($nengappi){
	list($nen,$tsuki,$hi) = explode('-',$nengappi);
	$mk_nengappi=mktime(0,0,0,$tsuki,$hi,$nen);
	$nengetsu=date("Y年n月",$mk_nengappi);
	return $nengetsu;
}

$seiyooreki1="2010-3-4";
$seiyooreki2="1976-4-1";
$nengetsu1=nengetsu($seiyooreki1);
$nengetsu2=nengetsu($seiyooreki2);
echo $seiyooreki1."は".$nengetsu1."です。"."<br>";
echo $seiyooreki2."は".$nengetsu2."です。"."<br>";
?>
最初にもどる

nengappi_hikaku 年月日を比較
比較する2つの年月日を引数にとる。
後の年月日を返す。
function nengappi_hikaku($nengappi1,$nengappi2){
	list($nen1,$tsuki1,$hi1) = explode('-',$nengappi1);
	$mk_nengappi1=mktime(0,0,0,$tsuki1,$hi1,$nen1);
	list($nen2,$tsuki2,$hi2) = explode('-',$nengappi2);
	$mk_nengappi2=mktime(0,0,0,$tsuki2,$hi2,$nen2);
	if($mk_nengappi1>$mk_nengappi2){
		return $nengappi1;
	}
	elseif($mk_nengappi1<=$mk_nengappi2){
		return $nengappi2;
	}
}

使用例
<?php
function nengappi_hikaku($nengappi1,$nengappi2){
	list($nen1,$tsuki1,$hi1) = explode('-',$nengappi1);
	$mk_nengappi1=mktime(0,0,0,$tsuki1,$hi1,$nen1);
	list($nen2,$tsuki2,$hi2) = explode('-',$nengappi2);
	$mk_nengappi2=mktime(0,0,0,$tsuki2,$hi2,$nen2);
	if($mk_nengappi1>$mk_nengappi2){
		return $nengappi1;
	}
	elseif($mk_nengappi1<=$mk_nengappi2){
		return $nengappi2;
	}
}

$seiyoreki1="2010-3-4";
$seiyoreki2="2012-4-1";
$seiyoreki4="1987-12-4";
$seiyoreki5="1987-12-7";
$seiyoreki3=nengappi_hikaku($seiyoreki1,$seiyoreki2);
$seiyoreki6=nengappi_hikaku($seiyoreki4,$seiyoreki5);

echo $seiyoreki1."と".$seiyoreki2."では、".$seiyoreki3."が後です。"."<br>";
echo $seiyoreki4."と".$seiyoreki5."では、".$seiyoreki6."が後です。"."<br>";
?>
最初にもどる

nochi_nengappi 2つの年月日を比較して第1引数が第2より、後なら1を返し、同じなら0を返し、前なら-1を返す。
比較する2つの年月日を引数にとる。
function nochi_nengappi($nengappi1,$nengappi2){
	list($nen1,$tsuki1,$hi1) = explode('-',$nengappi1);
	$mk_nengappi1=mktime(0,0,0,$tsuki1,$hi1,$nen1);
	list($nen2,$tsuki2,$hi2) = explode('-',$nengappi2);
	$mk_nengappi2=mktime(0,0,0,$tsuki2,$hi2,$nen2);
	if($mk_nengappi1>$mk_nengappi2){
		return 1;
	}
	elseif($mk_nengappi1==$mk_nengappi2){
		return 0;
	}
	elseif($mk_nengappi1<$mk_nengappi2){
		return -1;
	}
}

使用例
<?php
function nochi_nengappi($nengappi1,$nengappi2){
	list($nen1,$tsuki1,$hi1) = explode('-',$nengappi1);
	$mk_nengappi1=mktime(0,0,0,$tsuki1,$hi1,$nen1);
	list($nen2,$tsuki2,$hi2) = explode('-',$nengappi2);
	$mk_nengappi2=mktime(0,0,0,$tsuki2,$hi2,$nen2);
	if($mk_nengappi1>$mk_nengappi2){
		return 1;
	}
	elseif($mk_nengappi1==$mk_nengappi2){
		return 0;
	}
	elseif($mk_nengappi1<$mk_nengappi2){
		return -1;
	}
}

$seiyoreki1="2010-3-4";
$seiyoreki2="2012-4-1";
$seiyoreki3="1990-12-21";
$seiyoreki4="1990-12-10";
$seiyoreki5="2012-5-7";
$seiyoreki6="2012-5-7";
$hikaku1=nochi_nengappi($seiyoreki1,$seiyoreki2);
$hikaku2=nochi_nengappi($seiyoreki3,$seiyoreki4);
$hikaku3=nochi_nengappi($seiyoreki5,$seiyoreki6);
echo $seiyoreki1."と".$seiyoreki2."では、".$hikaku1."を返します。"."<br>";
echo $seiyoreki3."と".$seiyoreki4."では、".$hikaku2."を返します。"."<br>";
echo $seiyoreki5."と".$seiyoreki6."では、".$hikaku3."を返します。"."<br>";
?>
最初にもどる

mk_nengappi 年月日のUNIXタイムスタンプを返す
年月日を引数にとる。
function mk_nengappi($nengappi){
	list($nen,$tsuki,$hi) = explode('-',$nengappi);
	$mk_nengappi=mktime(0,0,0,$tsuki,$hi,$nen);
	return $mk_nengappi;
}

使用例
<?php
function mk_nengappi($nengappi){
	list($nen,$tsuki,$hi) = explode('-',$nengappi);
	$mk_nengappi=mktime(0,0,0,$tsuki,$hi,$nen);
	return $mk_nengappi;
}

$seiyoreki1="2010-3-4";
$seiyoreki2="2012-4-1";
$unix_time1=mk_nengappi($seiyoreki1);
$unix_time2=mk_nengappi($seiyoreki2);
echo $seiyoreki1."のUNIXタイムスタンプは、".$unix_time1."です。"."<br>";
echo $seiyoreki2."のUNIXタイムスタンプは、".$unix_time2."です。"."<br>";
?>


nissutsuika 任意の年月日に任意の日数を追加した年月日を返す
第1引数が年月日で、第2引数が追加する日数である。
function nissutsuika($nengappi,$nissu){
	list($nen,$tsuki,$hi) = explode('-',$nengappi);
	$mk_nengappi=mktime(0,0,0,$tsuki,$hi,$nen);
	$mk_nengappi2=$mk_nengappi+$nissu*24*60*60;
	$nengappi2=date("Y-m-d",$mk_nengappi2);
	return $nengappi2;
}

使用例
<?php
function nissutsuika($nengappi,$nissu){
	list($nen,$tsuki,$hi) = explode('-',$nengappi);
	$mk_nengappi=mktime(0,0,0,$tsuki,$hi,$nen);
	$mk_nengappi2=$mk_nengappi+$nissu*24*60*60;
	$nengappi2=date("Y-m-d",$mk_nengappi2);
	return $nengappi2;
}

$seiyoreki1="2010-3-4";
$seiyoreki2="2012-6-20";
$tsuika_nissu1=15;
$tsuika_nissu2=456;
$seiyooreki3=nissutsuika($seiyoreki1,$tsuika_nissu1);
$seiyooreki4=nissutsuika($seiyoreki2,$tsuika_nissu1);
$seiyooreki5=nissutsuika($seiyoreki1,$tsuika_nissu2);
echo $seiyoreki1."に".$tsuika_nissu1."日を追加すると、".$seiyooreki3."になります。"."<br>";
echo $seiyoreki2."に".$tsuika_nissu1."日を追加すると、".$seiyooreki4."になります。"."<br>";
echo $seiyoreki1."に".$tsuika_nissu2."日を追加すると、".$seiyooreki5."になります。"."<br>";
?>
最初にもどる

gosha 0.5以下なら切り捨て、0.5より大きいなら切り上げる
数字を引数にとる。
function gosha($suji){
	$seisu=floor($suji);
	$shosu=$suji-$seisu;
	if($shosu<=0.5){
		$gosha_seisu=$seisu;
	}
	elseif($shosu>0.5){
		$gosha_seisu=$seisu+1;
	}
	return $gosha_seisu;
}

使用例
<?php
function gosha($suji){
	$seisu=floor($suji);
	$shosu=$suji-$seisu;
	if($shosu<=0.5){
		$gosha_seisu=$seisu;
	}
	elseif($shosu>0.5){
		$gosha_seisu=$seisu+1;
	}
	return $gosha_seisu;
}

$suji1="23.78";
$suji2="123.5";
$suji3="123.51";
$suji4=gosha($suji1);
$suji5=gosha($suji2);
$suji6=gosha($suji3);
echo $suji1."は".$suji4."を返します。"."<br>";
echo $suji2."は".$suji5."を返します。"."<br>";
echo $suji3."は".$suji6."を返します。"."<br>";
?>
最初にもどる

tsukisu 第1引数が年で、第2引数が月であり、その年月の日数を返す。
function tsukisu($nen,$tsuki){
	if($tsuki==1){
		$nissu=31;
	}
	elseif($tsuki==2 and $nen % 4==0){
		$nissu=29;
	}
	elseif($tsuki==2 and $nen % 4!=0){
		$nissu=28;
	}
	elseif($tsuki==3){
		$nissu=31;
	}
	elseif($tsuki==4){
		$nissu=30;
	}
	elseif($tsuki==5){
		$nissu=31;
	}
	elseif($tsuki==6){
		$nissu=30;
	}
	elseif($tsuki==7){
		$nissu=31;
	}
	elseif($tsuki==8){
		$nissu=31;
	}
	elseif($tsuki==9){
		$nissu=30;
	}
	elseif($tsuki==10){
		$nissu=31;
	}
	elseif($tsuki==11){
		$nissu=30;
	}
	elseif($tsuki==12){
		$nissu=31;
	}
	return $nissu;
}


使用例
<?php
function tsukisu($nen,$tsuki){
	if($tsuki==1){
		$nissu=31;
	}
	elseif($tsuki==2 and $nen % 4==0){
		$nissu=29;
	}
	elseif($tsuki==2 and $nen % 4!=0){
		$nissu=28;
	}
	elseif($tsuki==3){
		$nissu=31;
	}
	elseif($tsuki==4){
		$nissu=30;
	}
	elseif($tsuki==5){
		$nissu=31;
	}
	elseif($tsuki==6){
		$nissu=30;
	}
	elseif($tsuki==7){
		$nissu=31;
	}
	elseif($tsuki==8){
		$nissu=31;
	}
	elseif($tsuki==9){
		$nissu=30;
	}
	elseif($tsuki==10){
		$nissu=31;
	}
	elseif($tsuki==11){
		$nissu=30;
	}
	elseif($tsuki==12){
		$nissu=31;
	}
	return $nissu;
}

$nen1="2013";
$nen2="2012";
$tsuki1="9";
$tsuki2="2";
$nissu1=tsukisu($nen1,$tsuki1);
$nissu2=tsukisu($nen1,$tsuki2);
$nissu3=tsukisu($nen2,$tsuki2);
echo $nen1."年".$tsuki1."月の日数は".$nissu1."日です。"."<br>";
echo $nen1."年".$tsuki2."月の日数は".$nissu2."日です。"."<br>";
echo $nen2."年".$tsuki2."月の日数は".$nissu3."日です。"."<br>";
?>
最初にもどる

egfr eGFR(estimated glomerular filtration rate)を返す
引数は第1引数が性別(男か、女を入れる)、第2引数が年齢、第3引数がクレアチニンである。
eGFRを返す。
function egfr($seibetsu,$nenrei,$creatinine){
	if($seibetsu=="男"){
		$eGFR=floor(10*194*pow($nenrei,-0.287)*pow($creatinine,-1.094))/10;
	}
	elseif($seibetsu=="女"){
		$eGFR=floor(10*0.739*194*pow($nenrei,-0.287)*pow($creatinine,-1.094))/10;
	}
	else{
		$eGFR="性別が指定されていません。";
	}
	return $eGFR;
}


使用例
<?php
function egfr($seibetsu,$nenrei,$creatinine){
	if($seibetsu=="男"){
		$eGFR=floor(10*194*pow($nenrei,-0.287)*pow($creatinine,-1.094))/10;
	}
	elseif($seibetsu=="女"){
		$eGFR=floor(10*0.739*194*pow($nenrei,-0.287)*pow($creatinine,-1.094))/10;
	}
	else{
		$eGFR="性別が指定されていません。";
	}
	return $eGFR;
}
$seibetsu1="男";
$seibetsu2="女";
$nenrei1="30";
$nenrei2="71";
$creatinine1="0.7";
$creatinine2="4.3";
$result1=egfr($seibetsu1,$nenrei1,$creatinine1);
$result2=egfr($seibetsu2,$nenrei1,$creatinine1);
$result3=egfr($seibetsu1,$nenrei1,$creatinine2);
$result4=egfr($seibetsu1,$nenrei2,$creatinine2);

echo $seibetsu1."、".$nenrei1."歳、クレアチニン ".$creatinine1."のeGFRは".$result1."です。"."<br>";
echo $seibetsu2."、".$nenrei1."歳、クレアチニン ".$creatinine1."のeGFRは".$result2."です。"."<br>";
echo $seibetsu1."、".$nenrei1."歳、クレアチニン ".$creatinine2."のeGFRは".$result3."です。"."<br>";
echo $seibetsu1."、".$nenrei2."歳、クレアチニン ".$creatinine2."のeGFRは".$result4."です。"."<br>";
?>
最初にもどる

commasuji 数字をコンマで区切る
コンマで区切りたい数字を引数にとる。
コンマで区切った数字を返す。
function commasuji($moto_suji){ 
	$mojisu=mb_strlen($moto_suji);
	$kosu=floor($mojisu/3);
	$amari=$mojisu%3;

	for($i=1; $i<=$kosu; $i++){
		$suji=substr($moto_suji,-3*$i,3);
		$suji2=",".$suji.$suji2;
	}
	//substr($moto_suji,-3,3) なら、最後から3番めの数字から3つの数字を取り出す。
	$suji=substr($moto_suji,0,$amari);
	$suji3=$suji.$suji2;
	//下から3つずつ数字を取り出し、その前にコンマをつけ、先頭に残りの数字をつける。
	if($amari==0){
		$suji4=substr($suji3,1);
	}
	else{
		$suji4=$suji3;
	}
	return $suji4;
	//数字が3で割り切れる個数の場合は、先頭にコンマがつくため、コンマを取り除いている。
}


使用例
<?php
function commasuji($moto_suji){ 
	$mojisu=mb_strlen($moto_suji);
	$kosu=floor($mojisu/3);
	$amari=$mojisu%3;

	for($i=1; $i<=$kosu; $i++){
		$suji=substr($moto_suji,-3*$i,3);
		$suji2=",".$suji.$suji2;
	}
	//substr($moto_suji,-3,3) なら、最後から3番めの数字から3つの数字を取り出す。
	$suji=substr($moto_suji,0,$amari);
	$suji3=$suji.$suji2;
	//下から3つずつ数字を取り出し、その前にコンマをつけ、先頭に残りの数字をつける。
	if($amari==0){
		$suji4=substr($suji3,1);
	}
	else{
		$suji4=$suji3;
	}
	return $suji4;
	//数字が3で割り切れる個数の場合は、先頭にコンマがつくため、コンマを取り除いている。
}

$suji1="1455689";
$suji2="2000000000";
$result1=commasuji($suji1);
$result2=commasuji($suji2);

echo $suji1."は、".$result1."を返します。"."<br>";
echo $suji2."は、".$result2."を返します。"."<br>";
?>
最初にもどる

shishagonyu 指定した桁で四捨五入する
第1引数が数字で、第2引数が四捨五入する桁である。小数点第3位で四捨五入するなら、第2引数は3である。
function shishagonyu($suji,$keta){
	$ruijo=pow(10,$keta-1);
	$suji2=round($suji*$ruijo)/$ruijo;
	return $suji2;
}


使用例
<?php
function shishagonyu($suji,$keta){
	$ruijo=pow(10,$keta-1);
	$suji2=round($suji*$ruijo)/$ruijo;
	return $suji2;
}

$suji1="345.29543";
$ketasu1=4;
$ketasu2=3;
$result1=shishagonyu($suji1,$ketasu1);
$result2=shishagonyu($suji1,$ketasu2);

echo $suji1."を小数点".$ketasu1."位で四捨五入すると、".$result1."になります。"."<br>";
echo $suji1."を小数点".$ketasu2."位で四捨五入すると、".$result2."になります。"."<br>";
?>
最初にもどる

rishizei 利子にかかる税金を返す
利子の数字を引数にとり、利子の税金額を返す。
function rishizei($kingaku){
	$shotokuzei=floor($kingaku*0.15315);
	$chihozei=floor($kingaku*0.05);
	$rishi=$shotokuzei+$chihozei;
	return $rishi;
//所得税の15%に復興特別所得税2.1%がかかるため、0.15×1.021=1.5315になる。
}


使用例
<?php
function rishizei($kingaku){
	$shotokuzei=floor($kingaku*0.15315);
	$chihozei=floor($kingaku*0.05);
	$rishi=$shotokuzei+$chihozei;
	return $rishi;
}
$suji="34571";
$zeikin=rishizei($suji);

echo "利子".$suji."円にかかる税金は、".$zeikin."円になります。"."<br>";
?>
最初にもどる

zeibikigorishi 税引き後利子を返す
利子の数字を引数にとり、税引き後金額を返す。
function zeibikigorishi($kingaku){
	$shotokuzei=floor($kingaku*0.15315);
	$chihozei=floor($kingaku*0.05);
	$rishi=$shotokuzei+$chihozei;
	$zeibikigorishi=$kingaku-$rishi;
	return $zeibikigorishi;
//所得税の15%に復興特別所得税2.1%がかかるため、0.15×1.021=1.5315になる。
}


使用例
<?php
function zeibikigorishi($kingaku){
	$shotokuzei=floor($kingaku*0.15315);
	$chihozei=floor($kingaku*0.05);
	$rishi=$shotokuzei+$chihozei;
	$zeibikigorishi=$kingaku-$rishi;
	return $zeibikigorishi;
}
$suji="34571";
$zeikin=zeibikigorishi($suji);

echo "利子".$suji."円の税引き後利子は、".$zeikin."円になります。"."<br>";
?>
最初にもどる
更新日: 2013年10月1日