php:从DateTime开始上个月的最后一个周末

时间:2018-01-12 11:05:48

标签: php datetime

我想使用PHP提取本年度某个月(即3月)上周末的开始日期时间?

Example: 

Last weekend of March this year would be: 23-03-2018.

2 个答案:

答案 0 :(得分:0)

要获得最后一个完整的周末(我读到你想要的问题),你需要查找月份的最后日期并查看当天的日期。
我使用日期(" w")来获取星期日的日期编号0和星期六的日期编号 如果数字是5或更大,整个周末都不会发生在那个月。

如果是这种情况,我会从Unix时间删除几天并找到上一个星期五。

$month = "March";
If(date("w", strtotime("last day of ". $month)) >= 5){
    $unix = strtotime("last day of ". $month)-86400*6;
    Echo date("Y-m-d", strtotime("previous Friday " .date("Y-m-d", $unix)));
}Else{
    Echo date("Y-m-d", strtotime("previous Friday " .date("Y-m-d",strtotime("last day of ". $month))));
}

在此处试试:https://3v4l.org/O4TDd

答案 1 :(得分:-2)

我认为您应该找到strtotime

的解决方案

你可以用

迭代几个月
strtotime("-1 months"));
strtotime("1 months"));

然后使用

获取上周结束日期
strtotime("last saturday");
strtotime("last sunday");

尝试:

echo strtotime("+[your variable]"+ months last sunday");

[您的变量]是当月之前或之后的月数

修改:

在评论中看到 @ChrisG 回答后,最好的解决方案实际上是:

 $month = [your month variable];
 echo strtotime("last saturday of "+ $month);