计算2000年01月01日起到指定日的天数_PHP教程
这是一个计算2000年01月01日起到指定日的天数的函数
(算头也算尾)日期格式为:YYYY-MM-DD
// 计算从2000年01月01日开始到某日的天数
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( is_int(substr($end_day,0,4)/4) )
$leap_day=29; //leap year
else
$leap_day=28;
// //同一年
if(substr($end_day,4,2)==substr($start_day,4,2))
{
// the same month
$endday_from_startday=$end_day-$start_day+1;
}
else
{
// not same month
switch (substr($end_day,4,2))
{
case "01":
$endday_from_newyear=substr($end_day,6,2)+1;
break;
case "02":
$endday_from_newyear=substr($end_day,6,2)+31;
break;
case "03":
$endday_from_newyear=substr($end_day,6,2)+$leap_day+31;
break;
case "04":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2;
break;
case "05":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30;
break;
case "06":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30;
break;
case "07":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30*2;
break;
case "08":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30*2;
break;
case "09":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*2;
break;
case "10":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*3;
break;
case "11":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*4;
break;
case "12":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*5;
break;
}
$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=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;
else
$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; //leap year
else
$leap_day=28;
if(substr($end_day,4,2)==substr($start_day,4,2))
{
// the same month
$endday_from_startday=$differ_year2day+ substr($end_day,4,2);
}
else
{
// not same month
switch (substr($end_day,4,2))
{
case "01":
$endday_from_newyear=substr($end_day,6,2)+1;
break;
case "02":
$endday_from_newyear=substr($end_day,6,2)+1+31;
break;
case "03":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31;
break;
case "04":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2;
break;
case "05":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30;
break;
case "06":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30;
break;
case "07":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*2+30*2;
break;
case "08":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*3+30*2;
break;
case "09":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*2;
break;
case "10":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*3;
break;
case "11":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*4;
break;
case "12":
$endday_from_newyear=substr($end_day,6,2)+1+$leap_day+31*5+30*5;
break;
} //End of switch
$endday_from_startday=$endday_from_newyear+$differ_year2day;
} //End of not same month
return ($endday_from_startday);
} //End of year
} //End of $end_day>=$start_day
} //End of function
$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." 天";
?>
时间太少了,那位大虾可以修改为计算任意两日期之间的间隔最好!!!!!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

通用矩阵乘法(GeneralMatrixMultiplication,GEMM)是许多应用程序和算法中至关重要的一部分,也是评估计算机硬件性能的重要指标之一。通过深入研究和优化GEMM的实现,可以帮助我们更好地理解高性能计算以及软硬件系统之间的关系。在计算机科学中,对GEMM进行有效的优化可以提高计算速度并节省资源,这对于提高计算机系统的整体性能至关重要。深入了解GEMM的工作原理和优化方法,有助于我们更好地利用现代计算硬件的潜力,并为各种复杂计算任务提供更高效的解决方案。通过对GEMM性能的优

WORD是一个强大的文字处理器,我们可以利用word进行各种文字的编辑,在Excel表格当中,我们已经熟练掌握了加减乘数的运算方法,那么如果需要在Word表格里,计算数值的加减乘数,该如何操作呢,难道只能用计算器计算吗?答案当然是否定的,WORD也同样可以完成。今天小编就来教大家如何在Word文档的表格当中,运用公式计算加减乘除等基本运算,一起来学习一下吧。那么,今天就让小编具体演示一下,WORD文档怎么计算加减乘除?第一步:打开一个WORD,单击工具栏【插入】下的【表格】,在下拉菜单当中插入一

技嘉的主板怎么设置键盘开机首先,要支持键盘开机,一定是PS2键盘!!设置步骤如下:第一步:开机按Del或者F2进入bios,到bios的Advanced(高级)模式普通主板默认进入主板的EZ(简易)模式,需要按F7切换到高级模式,ROG系列主板默认进入bios的高级模式(我们用简体中文来示范)第二步:选择到——【高级】——【高级电源管理(APM)】第三步:找到选项【由PS2键盘唤醒】第四步:这个选项默认是Disabled(关闭)的,下拉之后可以看到三种不同的设置选择,分别是按【空格键】开机、按组

1.处理器在选择电脑配置时,处理器是至关重要的组件之一。对于玩CS这样的游戏来说,处理器的性能直接影响游戏的流畅度和反应速度。推荐选择IntelCorei5或i7系列的处理器,因为它们具有强大的多核处理能力和高频率,可以轻松应对CS的高要求。2.显卡显卡是游戏性能的重要因素之一。对于射击游戏如CS而言,显卡的性能直接影响游戏画面的清晰度和流畅度。建议选择NVIDIAGeForceGTX系列或AMDRadeonRX系列的显卡,它们具备出色的图形处理能力和高帧率输出,能够提供更好的游戏体验3.内存电

如何使用Python的count()函数计算列表中某个元素的数量,需要具体代码示例Python作为一种强大且易学的编程语言,提供了许多内置函数来处理不同的数据结构。其中之一就是count()函数,它可以用来计算列表中某个元素的数量。在本文中,我们将详细介绍如何使用count()函数,并提供具体的代码示例。count()函数是Python的内置函数,用于计算某

给定两个字符串str_1和str_2。目标是使用递归过程计算字符串str1中子字符串str2的出现次数。递归函数是在其定义中调用自身的函数。如果str1是"Iknowthatyouknowthatiknow",str2是"know"出现次数为-3让我们通过示例来理解。例如输入str1="TPisTPareTPamTP",str2="TP";输出Countofoccurrencesofasubstringrecursi

主板上SPDIFOUT连接线序最近我遇到了一个问题,就是关于电线的接线顺序。我上网查了一下,有些资料说1、2、4对应的是out、+5V、接地;而另一些资料则说1、2、4对应的是out、接地、+5V。最好的办法是查看你的主板说明书,如果找不到说明书,你可以使用万用表进行测量。首先找到接地,然后就可以确定其他的接线顺序了。主板vdg怎么接线连接主板的VDG接线时,您需要将VGA连接线的一端插入显示器的VGA接口,另一端插入电脑的显卡VGA接口。请注意,不要将其插入主板的VGA接口。完成连接后,您可以

在C#中,有一个Math类库,其中包含许多数学函数。其中包括计算幂次方的函数Math.Pow,它可以帮助我们计算指定数的幂。Math.Pow函数的用法非常简单,只需要指定底数和指数就可以了。其语法如下:Math.Pow(base,exponent);其中base表示底数,exponent表示指数。该函数返回double类型的结果,即幂次方的计算结果。下面让
