du9826 2012-05-09 12:32
浏览 21
已采纳

在PHP中获取最后一天的某一天

I'm wondering if there's an easy way (like using strtotime) whereby I can get the unix time for the last occurrence of a day/month combination. For example, if I was to ask for "1st of September" today (9th May 2012) I would get 1314835200 (1st Sep 2011), but if the code was to run again this October, I would get 1346457600 (1st Sep 2012), and the same if I ran it 1 year from now.

Being able to do it forwards as well as backwards would be a massive bonus.

  • 写回答

1条回答 默认 最新

  • dongming5444 2012-05-09 12:35
    关注
    $month = 9;
    $day = 1;
    
    $timestamp = mktime(0, 0, 0, $month, $day);
    if ($timestamp > time()) {
        $timestamp = mktime(0, 0, 0, $month, $day, date('Y') - 1);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?