PHP怎么获取每个月的最后一个周五日期
PHP中文网
PHP中文网 2017-04-11 10:15:50
[PHP讨论组]

获取每个月最后一个周五日期,比如3月的最后一个周五,依次类推

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
伊谢尔伦

date('Y-m-d',strtotime("2017-04-01 last friday"))

大家讲道理
// 获取每个月最后一个周五日期,比如3月的最后一个周五,依次类推
// 获取每个月最后一个周五日期,比如3月的最后一个周五,依次类推
date_default_timezone_set('PRC');
$month_day =  date('t');  
$friday    = 5;
$one_day = strtotime(date('Y-m-01'));
$bad = $friday - date( 'w', $one_day) != 0 ? $one_day + (($friday - date( 'w', $one_day))*24*60*60 ) : time();
$num = 0;
while(  date('j',$bad) + 7 <= $month_day)
{
    $month_day -= 7;
    ++$num;
}
echo date('Y').'-'.$month_day.'-'.($num * 7 + date('j',$bad));
天蓬老师

echo date('Y-m-d H:i:s', strtotime('first friday of next month -7 days'));

怪我咯
/**
 * 返回指定年份的月份最后周五日期
 * 
 * @author Flc 2017-03-15 22:24:45
 * @param  integer $month 月份
 * @param  integer $year  年份
 * @return 日期        YYYY-MM-DD
 */
function getFridayDate($month, $year = null)
{
    $months = [
        1  => 'January',
        2  => 'February',
        3  => 'March',
        4  => 'April',
        5  => 'May',
        6  => 'June ',
        7  => 'July',
        8  => 'August',
        9  => 'September',
        10 => 'October',
        11 => 'November',
        12 => 'December',
    ];

    if (! array_key_exists($month, $months)) {
        return false;
    }

    if ($year == null) {
        $year = date('Y');
    }

    return date('Y-m-d', strtotime('last Friday of ' . $months[$month] . ' ' . $year));
}

echo getFridayDate(2);  // 2017-02-24
echo getFridayDate(2, 2015);  // 2015-02-27
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号