【问题标题】:How to subtract months from a date stored in variable?如何从存储在变量中的日期中减去月份?
【发布时间】:2014-06-30 06:56:44
【问题描述】:

如果我使用这种方式,我可以得到我想要的:

echo Date("m/Y", strtotime("04/2014 -1 Month"));
// 03/2014

但我需要将其概括为从未知日期中减去:

$date1 = date("m/Y", strtotime("+1 month"));
$date = date("m/Y", strtotime("".$date1." -$f month"));

我得到错误答案的日期它显示01/1970 我想知道是否可以在 strtotime 中使用 date 变量?我使用它的方式是对还是错?

【问题讨论】:

  • 您没有在侧边栏中看到此帖子? stackoverflow.com/questions/2382458/…
  • 所以你想在下个月前几个月$f
  • 你使用的第一种方法不像你的那样工作echo Date("m/Y", strtotime("04/2014 -1 Month"));输出01/1970
  • 是的,我希望 $f 成为月数,但这不是我的问题,我认为我的问题是可以在 $f 之前显示变量吗?因为如果它是一个真实的日期,它可以工作,但一个变量不能工作,为什么?
  • 问题不在于$f 变量。问题是strtotimem/Y 格式:codepad.org/L9NmTvQ1

标签: php


【解决方案1】:

使用子函数

$date = new DateTime('2014-04-01');
$date->sub(new DateInterval("P1M"));
echo $date->format('m-Y');

【讨论】:

    【解决方案2】:

    你也可以使用modify函数。

    $date = new DateTime('2014-04-01');
    $date->modify('-1 month');
    echo $date->format('m-Y');
    

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2021-08-25
      • 2016-11-08
      • 1970-01-01
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多