ホームページ >バックエンド開発 >PHPチュートリアル >2000 年ノーベル文学賞 2000 年 1 月 1 日から指定した日付までの日数を計算します。

2000 年ノーベル文学賞 2000 年 1 月 1 日から指定した日付までの日数を計算します。

WBOY
WBOYオリジナル
2016-07-29 08:34:08922ブラウズ

2000 年 1 月 1 日から指定日までの日数を計算する関数です


(始まりと終わりもカウントされます) 日付の形式は、YYYY-MM-DD

です。
// 2000年1月1日から特定の日までの日数を計算する
function cal_start2end($end_day,$start_day)
{
$start_day=ereg_replace("-","",$start_day) ;
$end_day= ereg_replace("-","",$end_day);
if($end_day>=$start_day)
{ // 終了日が開始日より大きいです
if(substr($end_day,0) ,4)==substr($start_day ,0,4))
ニアン
If (Substr ($ End_Day, 4,2) == Substr ($ Start_Day, 4,2)) {
// 同じ月
$ ENDDAY_STARTDAY = $ END_DAY- $ Start_Day+1
}}
else
{
// 同じ月ではありません
switch (substr($end_day,4,2))
{
{ケース "01":
$endday_from_newyear=substr($end_day,6,2)+1;
休憩;
ケース "02":
$endday_from_newyear=substr($end_day,6,2)+31;
休憩;
ケース "03":
$endday_from_newyear=substr($end_day,6,2)+$leap_day+31;
休憩;
case "04":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2;
休憩;
ケース "05":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30;
休憩;
ケース "06":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30;
休憩;
case "07":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30*2;
休憩;
case "08":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30*2;
休憩;
case "09":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*2;
休憩;
ケース "10":
                        $endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*3;
休憩;
case "11":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*4;
休憩;
case "12":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*5;
休憩;
}
$endday_from_startday=$endday_from_newyear;
}
return ($endday_from_startday);
}
else
{
// 異年!
$differ_year=substr($end_day,0,4)-substr($start_day,0,4);
$how_int_4_floor=フロア($differ_year/4)+1; // 方向下取整
$how_int_4_ceil=ceil($differ_year/4)+1; // 向上取整
if($how_int_4_floor==$how_int_4_ceil)
$how_leap_year=$how_int_4_floor-1;
それ以外の場合
$how_leap_year=$how_int_4_floor;
$how_noleap_year=$differ_year-$how_leap_year;
$differ_year2day=$how_noleap_year*365+$how_leap_year*366;
if( is_int(substr($end_day,0,4)/4) )
$leap_day=29;    //うるう年
else
$leap_day=28;
if(substr($end_day,4,2)==substr($start_day,4,2))
{
// 同じ月
$endday_from_startday=$differ_year2day+substr($end_日、4、2);
}
else
{
// 同じ月ではありません
switch (substr($end_day,4,2))
{
{ケース "01":
$endday_from_newyear=substr($end_day,6,2)+1;
休憩;
ケース "02":
$endday_from_newyear=substr($end_day,6,2)+1+31;
休憩;
ケース "03":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31;
休憩;
case "04":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2;
休憩;
ケース "05":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30;
休憩;
ケース "06":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30;
休憩;
case "07":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30*2;
休憩;
case "08":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30*2;
休憩;
case "09":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*2;
休憩;
ケース "10":
                        $endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*3;
休憩;
case "11":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*4;
休憩;
case "12":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*5;
休憩;
} //切り替えの終了
$endday_from_startday=$endday_from_newyear+$differ_year2day;
} //同じ月ではない月末
return ($endday_from_startday);
} // 年末
} // 終了 $end_day>=$start_day
} // 関数の終了
$start_day="2000-01-01";
$end_day="2011-01-01";
echo "您输入的是:".$end_day."
n";
$endday_from_startday=cal_start2end($end_day,$start_day);
echo "该日距離$start_day 共 ".$endday_from_startday." 天";
?>




時間少了、那位大虾は任意の二日間の期間を計算するために修正できます!!!! 

以上、2000 年評価文学文学計算 2000 年 01 月 01 日から指定日の天数を介して、2000 年評価文学文学側面の内容が含まれており、PHP 教育に関心のある友人の助けを希望します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。