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)
{ // Ending 날짜가 시작 날짜보다 큽니다
if(substr($end_day,0,4)==substr($start_day,0,4))
{
if( is_int( substr($end_day,0,4) /4) )
$leap_day=29; //윤년
else
$leap_day=28
// $leap_day=29; 연도
if(substr($end_day,4,2 )==substr($start_day,4,2))
그렇지 않으면
{
// 동월이 아님
전환(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;
휴식;
케이스 "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;
휴식;
케이스 "07":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30*2;
휴식;
케이스 "08":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30*2;
휴식;
케이스 "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;
휴식;
대소문자 "11":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*4;
휴식;
대소문자 "12":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*5;
휴식;
}
$endday_from_startday=$endday_from_newyear;
}
반품($endday_from_startday);
}
else
{
// 동일하지 않습니다!
$differ_year=substr($end_day,0,4)-substr($start_day,0,4);
$how_int_4_floor=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_day ,4,2);
}
그렇지 않으면
{
// 동월이 아님
전환(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;
휴식;
케이스 "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;
휴식;
케이스 "07":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30*2;
휴식;
케이스 "08":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30*2;
휴식;
케이스 "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;
휴식;
대소문자 "11":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*4;
휴식;
대소문자 "12":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*5 30*5;
휴식;
} //전환 종료
$endday_from_startday=$endday_from_newyear $differ_year2day;
} //같은 달이 아닌 말
반품($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年诺贝尔文school奖 计算2000年01月01日起到指定日的天数,包括了2000年诺贝尔文school奖方亹,内容,希望对PHP教정말 많은 것들이 있습니다.