1

我想知道是否有一种简单的方法(比如使用 strtotime),我可以获得最后一次出现的日/月组合的 unix 时间。例如,如果我今天(2012 年 5 月 9 日)要求“9 月 1 日”,我会得到 1314835200(2011 年 9 月 1 日),但如果代码在今年 10 月再次运行,我会得到 1346457600(2012 年 9 月 1 日) ,如果我从现在开始运行它 1 年也是一样。

能够向前和向后做到这一点将是一个巨大的好处。

4

1 回答 1

7
$month = 9;
$day = 1;

$timestamp = mktime(0, 0, 0, $month, $day);
if ($timestamp > time()) {
    $timestamp = mktime(0, 0, 0, $month, $day, date('Y') - 1);
}
于 2012-05-09T12:35:04.243 回答