php 获取两个日期相隔几周,怎么样计算2个日期之间相差几周

你的位置:

问答吧

-> PHP基础

-> 问题详情

怎么样计算2个日期之间相差几周

如题

如果2个日期在同一年中的话可以通过date("W",unix时间戳)来计算

但特别麻烦的就是2个日期不是在同一年中,可能2个日期相差几年

请高手指教

作者: gengle53022

发布时间: 2007-04-18

可以先算相差多少天 然后再算有多少个周啊

作者: 只爱一个人

发布时间: 2007-04-18

$year_f=2300;

$year_n=idate("Y");

if(!$year_n===0)

$count_r=($year_f-($year_n + (4-($year_n % 4))))/4;

else

$count_r=($year_f-$year_n)/4+1;

$week=(((($year_f-$year_n)+1)*365)+$$count_r)/7;

echo $count_r;

?>

不知道这样行吧

作者: 真爱有限

发布时间: 2007-04-18

CODE:

[Copy to clipboard]

//按标准时间计算

$time1 ='2006-1-1 15:14:12'; //时间1

$time2 =date('Y-m-d H:i:s'); //时间2

echo (dateDiff("D",$time1,$time2))." weeks";

function dateDiff($date_part,$start_date,$end_date)

{

$starttimestamp = @strtotime($start_date);

if (-1 === $starttimestamp) {

return false;

}

$endtimestamp = @strtotime($end_date);

if (-1 === $endtimestamp) {

return false;

}

switch(strtoupper(trim($date_part)))

{

case "D"://按天计算,返回天数/7

$starttimestamp = strtotime(date('Y-m-d 00:00:00', $starttimestamp));

$endtimestamp = strtotime(date('Y-m-d 00:00:00', $endtimestamp));

#return intval((($endtimestamp - $starttimestamp) / (60*60*24)));//返回天数

return intval((($endtimestamp - $starttimestamp) / (60*60*24))/7);//返回周/7

break;

default:

return FALSE;

}

}

作者: chinahtml

发布时间: 2007-04-18

先转化为时间戳,再求差值。

LS的

if (-1 === $starttimestamp) {

return false;

}

这一步是什么作用?

作者: coolsail

发布时间: 2007-04-18

strtotime -- 将任何英文文本的日期时间描述解析为 Unix 时间戳

作者: chinahtml

发布时间: 2007-04-18

查了下手册,strtotime在PHP 5.1.0 之前此函数在失败时返回 -1,

5.1.0之后 失败时返回 FALSE,不再是 -1。

作者: coolsail

发布时间: 2007-04-19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值