Home > Backend Development > PHP Tutorial > 已知日期:2013-07-31 加12个月 3个月 1个月 得到相应的日期

已知日期:2013-07-31 加12个月 3个月 1个月 得到相应的日期

WBOY
Release: 2016-06-23 14:17:35
Original
1643 people have browsed it

已知日期:2013-07-31  加12个月   3个月    1个月  得到相应的日期

求大牛怎么写PHP代码?


回复讨论(解决方案)


$date1="2006-08-09";
echo date('Y-m-d',strtotime("$date1 +5 day")); //相应地,要增加月,年,将day改成month或year即可
?>
输出结果:2006-08-14

+++++++++++++    今天、昨天、明天 、上一周、下一周   +++++++++++++++

date_default_timezone_set('PRC'); //默认时区 
echo "今天:",date("Y-m-d",time()),"
"; 
echo "昨天:",date("Y-m-d",strtotime("-1 day")), "
"; 
echo "明天:",date("Y-m-d",strtotime("+1 day")), "
"; 
echo "一周后:",date("Y-m-d",strtotime("+1 week")), "
"; 
echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "
"; 
echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "
"; 
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."
"; 
echo "一个月前:".date("Y-m-d",strtotime("last month"))."
"; 
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."
"; 
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."
"; 

?>


$date1="2006-08-09";
echo date('Y-m-d',strtotime("$date1 +5 day")); //相应地,要增加月,年,将day改成month或year即可
?>
输出结果:2006-08-14

+++++++++++++    今天、昨天、明天 、上一周、下一周   +++++++++++++++

date_default_timezone_set('PRC'); //默认时区 
echo "今天:",date("Y-m-d",time()),"
"; 
echo "昨天:",date("Y-m-d",strtotime("-1 day")), "
"; 
echo "明天:",date("Y-m-d",strtotime("+1 day")), "
"; 
echo "一周后:",date("Y-m-d",strtotime("+1 week")), "
"; 
echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "
"; 
echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "
"; 
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."
"; 
echo "一个月前:".date("Y-m-d",strtotime("last month"))."
"; 
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."
"; 
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."
"; 

?>
这个不行。要加自然月,有的月分28天。有的31天

$s='2013-07-31';
echo date("Y-m-d",strtotime("$s+1 month"));

呵呵,想当然了

echo date("Y-m-d\n",strtotime("$s+7 month"));
Copy after login
得到 2014-03-03
select adddate('2013-07-31', INTERVAL 7 month)
Copy after login
得到 2014-02-28

显然,php 的表现是不尽人意的

mktime其实也可以达到要求

$t = '2013-07-31';echo date("Y-m-d",mktime(0,0,0,date("m") + 12,date("d") , date("Y"))).'<br>';echo date("Y-m-d",mktime(0,0,0,date("m") + 3,date("d") , date("Y"))).'<br>';echo date("Y-m-d",mktime(0,0,0,date("m") + 1,date("d") , date("Y"))).'<br>';
Copy after login



结果:
2014-07-312013-10-312013-08-31
Copy after login

$t = '2013-07-31';echo date("Y-m-d",mktime(0,0,0,date("m") + 2,date("d") , date("Y")));
Copy after login

得 2013-10-01

最要不得的是:回避矛盾

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template