php 中的倒数第二天

penultimate day of month in php

到目前为止

strtotime('last day of this month');

给我最后一天 (31),但我想要倒数第二 (30),我已经尝试过:

strtotime('-1 day','last day of this month');

还有 strtotime('last day of this month') - strtotime('1 天');和其他东西。总是导致(格式化为 date())1969 年 12 月 31 日。

我怎样才能做到这一点?

你快到了。 strtotime() 期望参数 2 是一个整数,以防从日期中减去时间跨度。所以你需要

  1. 使用 strtotime('last day of this month')
  2. 将月份的最后一天转换为整数时间戳值
  3. 然后通过 strtotime('-1 day', $valueFromStep1)
  4. 从中减去一天

因此

strtotime('-1 day',strtotime('last day of this month'))

给出了预期的答案

这里有一个与您提出的问题类似的问题:Subtract 1 day with PHP

时间参考: http://php.net/manual/en/function.strtotime.php