我正在做我自己的日历。要更改到下一个月和前几个月,我使用此功能:
date('m',"-1 months");
date('m',"+1 months");
但是,当我去下个月时,我再也不能使用它了,因为 -1 和 +1 总是来自now()
。
假设我不能将动态数字用于该偏移量,我的意思是
date('m',"$x months");
如何在特定日期添加或减去1个月?
例如这个日期......
$date_today = strtotime($_GET['date']);
$next_month = $date_today +/- 1 month ?!?!??!
答案 0 :(得分:3)
$next_month = strtotime('+1 month',$date_today);
答案 1 :(得分:2)
使用strtotime
...
$next_month = strtotime("+1 month");
会给你一个unix时间戳,你可以传递给date
...
echo date("m", $next_month);
答案 2 :(得分:1)
我目前为具有相同问题的多个网站运行日历。我最终将当前可见月份存储为$_SESSION
变量,或者当有人点击下一个或上个月时将其作为$_POST
对象传递。
当你在下一次或上一次被击中的时候打电话给第二次(或第一次)就像是
if(!isset($_SESSION['viewablemonth']) && $_SESSION['viewablemonth'] = '') {
$_SESSION['viewablemonth'] = date("m.d.Y");
}
结束然后做你的月加法或减法:
$_SESSION['viewablemonth'] = strtotime("+1 month", $_SESSION['viewablemonth']);
答案 3 :(得分:0)
您可以将strtotimes与参考日期混合起来,以便:
$next_month=strtotime("+1 month"); // assumes today
$following_month=strtotime("+1 month", $next_month);
http://uk.php.net/manual/en/function.strtotime.php 采用两个参数并假设第二个参数是time()当前时间戳(如果省略)