如何在php的同一天获得下个月

时间:2014-01-13 06:09:23

标签: php

如何在php中的同一天获得下个月。

使用此代码。我能够在下个月获得

$delidate = '2014-01-13'; // Today is Monday
$monthlyDate = strtotime("+1 month".$delidate);
$monthly = date("Y-m-d", $monthlyDate);
echo $monthly;

此代码的输出为: - 2014-02-13

现在,我想在星期一的下个月才能获得。

我需要在下个月星期一2014-02-10

或假设如果一天是星期三那么我需要在下个月的星期三日期。

更新: - 假设如果特定日期在下一个日期不可用,那么我需要在下个月的最近一天。

更新: -

我试试这段代码

$delidate = '2014-01-29';
$monthlyDate = strtotime( $delidate . " +1 month " );
$monday = strtotime( date("Y-m-d", $monthlyDate) . " Monday this week " );
$monthly = date("Y-m-d", $monday);
echo $monthly;

它给我输出 2014-03-03 虽然我需要2014-02-26

3 个答案:

答案 0 :(得分:0)

您可以这样做,因为您希望在1个月后获得相同的日期

$delidate = '2014-01-13'; // Today is Monday
$monthlyDate = strtotime("+4 week".$delidate);
$monthly = date("Y-m-d", $monthlyDate);
echo $monthly;

答案 1 :(得分:0)

试试这个

$delidate = '2014-01-13';
$monthlyDate = strtotime( $delidate . " +1 month " );
$monday = strtotime( date("Y-m-d", $monthlyDate) . " Monday this week " );
$monthly = date("Y-m-d", $monday);
echo $monthly;

答案 2 :(得分:0)

试试这个。这将不仅考虑周一的当天。

$delidate = '2014-01-13';
$monthlyDate = strtotime( $delidate . " +1 month " );
$dayname = strtotime( date("Y-m-d", $monthlyDate) . " " . date('l', strtotime($delidate)) . " this week " );
$monthly = date("Y-m-d", $dayname);
echo $monthly;