PHP中如何给日期加上一个月

PHP中如何给日期加上一个月,第1张

使用php的strtotime

实例:比如现在时间是“2010-10-06”,加一个月。

echo   date("Y-m-d", strtotime("+1 months", strtotime("2010-10-06")))

php的strtotime的具体应用实例:

<?php

echo(strtotime("now"))

echo(strtotime("3 October 2005"))

echo(strtotime("+5 hours"))

echo(strtotime("+1 week"))

echo(strtotime("+1 week 3 days 7 hours 5 seconds"))

echo(strtotime("next Monday"))

echo(strtotime("last Sunday"))

?>

这本身算是PHP的一个bug,就是如果本月有31天,那么在本月31日的基础上增加(或减少)n个月,如果目标月份的天数少于31,那么就会把相差的天数累加到下一个月,比如今天是2019-7-31,有31日,那么增加一个月就是2019-8-31,这个没问题,但如果是增加两个月,按理是2019-9-31,但9月是30天,那么就变成2019-10-1了。2月份是个特殊月份,只有28天或29天,如果目标月份刚好是2月,误差就会更大(而且即使当前月份的天数是30,遇到目标月份是2月也一样会有误)。

解决办法最好是自己写个处理月份加减的函数,比如当要计算的日期是29、30、31时,就要做特殊的处理,其他日期就按正常方法处理。下面是处理要计算的日期是31时的方法,其他日期自己处理:

date('Y-m-d', strtotime('last day of +2 month',strtotime('2019-12-31')))

你好,获取当前时间戳:time() ,如果你没设置时区 ,那么当前时间时间戳是:time()+3600*8 ,我们假设你的时区设置正确,那么time()+3600*24*30 就是一个月,一周就是time()+3600*24*7 (3600是一小时的秒数X24小时 就是一天X30/7)就是30天或者7天了。希望能帮到你,望采纳!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11540950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存