【发布时间】:2013-09-19 14:54:32
【问题描述】:
我该如何解决这个问题?
我设置例如 (31.10.2013), 但脚本返回 (01.11.2013)
echo $currentDate = "2013-10-31";
echo date("Y-m-D",strtotime("+1 month",strtotime("-1 month",strtotime($currentDate))));
Output is:
2013-10-31
2013-11-01
【问题讨论】:
-
你不能在 1 个单独的动作中做到这一点。你需要写 2 个单独的,1 个用于 -1 月,1 个用于 +1 月...
-
@Dieter 好吧,OP 实际上可以。我确认,
DateTime类具有相同的行为。 -
如果您在 10 月 31 日加上一个月,您将返回 12 月 1 日 - 没有 11 月 31 日,所以它会滚动到第二天。像这样的日期算术并不像你想象的那么简单。
-
我也强烈建议使用 DateTime 对象,即使这不能解决您的直接问题。
-
@CORRUPT - 但什么是“一个月”?我猜想从 10 月 31 日减去一个月会尝试返回 9 月 31 日,因为没有,所以它会滚动到 10 月 1 日。