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