PHP 中 知道开始时间和相隔天数如何计算出结束时间?

PHP中知道开始时间和相隔天数如何计算出结束时间?如:开始时间是:2008-12-1010:0:0相隔30天,如何算出另一个结束的时间呢?用哪个函数?给个例子?高手谢谢了... PHP 中 知道开始时间和相隔天数如何计算出结束时间?如:开始时间是:2008-12-10 10:0:0 相隔30天,如何算出另一个结束的时间呢?用哪个函数?给个例子?高手谢谢了。
感谢回答的朋友,但小弟是初学,能不能把具体的日期改为一个变量呢?如:$starttime这又如何做呢?谢谢了。

可是还有一个问题啊,这些变量:$y,$m,$d,还得在一个日期中取出来啊?如何取呢?能不能把这个函数做成这个样子呢?function end_date($starttime,$add)
展开
 我来答
lize_79
推荐于2020-12-21 · TA获得超过546个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:236万
展开全部
楼上的 太麻烦了,不如这样:

用 date 和 mktime 组合

例如 $a=date('Y-m-d h:i:s',mktime(0,0,0,12,10,2008));

$a 是开始时间,相隔30天 就吧mktime里的日期 +30

$b=date('Y-m-d h:i:s',mktime(0,0,0,12,40 /* 10+30 */,2008));

$b 就是结束时间;

具体流程 写个函数吧,方便调用;
<?php
function end_date($y,$m,$d,$add){
//$y 开始日期的年份;
//$m 开始日期的月份
//$d 开始日期的日
//$add 相隔的天数;

$temp=$d+$add;
$end_date=date('Y-m-d H:i:s',mktime(0,0,0,$m,$temp,$y));
return $end_date;
}
?>

这个函数没有错,肯定是在你的程序中已经定义过 end_date这个函数名,或者是你把它放到循环语句中了;

假设提交的日期是“yyyymmdd”格式:
<?php
function end_date($end_time,$add){
$y=substr($end_time,0,4);
$m=substr($end_time,4,2);
$d=substr($end_time,6,2);

$temp=$d+$add;
$end_date=date('Y-m-d H:i:s',mktime(10,0,0,$m,$temp,$y));
return $end_date;
}
?>
tzb12qaqaqa
2008-12-14 · 超过33用户采纳过TA的回答
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:99.6万
展开全部
确实麻烦,就用楼下的方法吧
思路是将开始时间转化为时间戳,再+30天的秒数,最后用date函数格式化输出
<?php
//echo strtotime( '2008-12-10 ' );

//int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )

//string date ( string $format [, int $timestamp ] )

$day = 30;
$time = mktime( '10', '00', '00', '12', '24','1986' );
$time += $day*24*3600;
echo date( 'Y-m-d H:i:s', $time );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式