您的位置:首页 > 编程语言 > PHP开发

PHP中怎样计算两个日期相差的天数

2004-06-23 11:39 766 查看
我想知道距今天n天前的时期是多少怎么写?或者说,比如 2002-03-27 和2001-09-27之间有多少天?
---------------------------------------------------------------

先把时间转变为年、月、日,然后如下:
$from=mktime(0,0,0,$month1,$day1,$year1);
$to=mktime(0,0,0,$month2,$day2,$year2);
$day_diff=($to-$from)/86400;
即得到相差多少天。

---------------------------------------------------------------

function DateDiff($d1,$d2=""){
if(is_string($d1))$d1=strtotime($d1);
if(is_string($d2))$d2=strtotime($d2);
return ($d2-$d1)/86400;
}
echo DateDiff("2002-03-27","2001-09-27")."";
echo DateDiff("2002-03-27")."";

function DateAdd($n,$d=""){
if(is_string($d))$d=strtotime($d);
return Date("Y-m-d",$d+$n*86400);
}
echo DateAdd(10,"2001-09-27")."";
echo DateAdd(-10)."";

-------------------------------
计算距离某天还有多少天
<?

####<读入系统时间功能>####
function nowtime(){
$date=date("m/d/Y");
return $date;
}?>
<?php $time = nowtime()?>

<script language="javascript">
var urodz= new Date("10/18/2003"); //指定欲比较的日期
var now = new Date("<?php echo $time ?>");//获得当前服务器日期
var ile = urodz.getTime() - now.getTime() ;//做比较
var dni = Math.floor(ile / (1000 * 60 * 60 * 24))+1;
if (dni > 1)
document.write("距日10/18/2003还有<font color=red size=20pt>"+dni+"</font>天")
else if (dni == 1)
document.write("只有2天啦!")
else if (dni == 0)
document.write("今天就是啊!")
else
document.write("好象已经过了哦!");

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: