获取星期几和年份中的一个月中的某天

时间:2019-11-13 21:59:01

标签: php

我有年份,星期几,星期几和月份,我想返回月中的某天。

我的意思是,它以星期,星期,月份和年份返回我:

$month = "September";
$year = "2013";
$dayWeek= "Friday";
$week = 2;

它返回一个月中的一天:可能是1或2或3或4或5等。

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试一下

// your input
$month      = "September";
$year       = "2013";
$dayWeek    = "Friday";
$week       = 2;


// create a date object
$date = new DateTime();

// set to the first day of the specified year/month
$date->modify($year . '-' . $month . '-01');

// add $week -1 weeks to the date
$date->modify('+' . ($week - 1) . ' week');

// set to day of week
$date->modify($dayWeek);

// here's the day of month for you
echo $date->format('j');

返回2013-09-13

答案 1 :(得分:0)

您可以尝试使用nesbot/carbot软件包来做到这一点:

use Carbon\Carbon;

...

switch($week) {
    case 1:
        $weekNumber = 'first';
        break;
    case 2:
        $weekNumber = 'second';
        break;
    case 3:
        $weekNumber = 'third';
        break;
    case 4:
        $weekNumber = 'fourth';
        break;
    default:
        $weekNumber = 'fifth';
}

// Now $date will be a Carbon\Carbon instance and $date->day will return day of month
$date = Carbon::parse(sprintf("%s %s of %s %s", $weekNumber, $dayWeek, $month, $year));