user3351236
user3351236

Reputation: 2538

How to get the next month in PHP

I need to get the next month with php. Everywhere is written these example

date('Y-m-t', strtotime('+1 month'));

The output of the above code is '2017-03-31'. I need to get February, not March.

Upvotes: 14

Views: 41390

Answers (6)

Anuar Alfetahe
Anuar Alfetahe

Reputation: 79

You can use the code below to get the next months first day.

$date = (new \DateTime('first day of next month'))->format('Y-m-d');

This is safer than 'next month' or '+1 month' because you may skip some months then.

Upvotes: 4

IslamYearul
IslamYearul

Reputation: 328

date("m", strtotime("2021-08-16 +1 Month"));

Upvotes: 1

Azeez Kallayi
Azeez Kallayi

Reputation: 2642

If you want to get the next irrespective of the current date in the current month. below code may help you

echo date('M',strtotime('first day of +1 month'));
// e.g. "Jan"

echo date('m',strtotime('first day of +1 month'));
// e.g. "1"

echo date('F',strtotime('first day of +1 month'));
// e.g. "January"

This will give you Next month.

You can find more formatting masks in date() function documentation

Upvotes: 32

Mattias Ahlholm
Mattias Ahlholm

Reputation: 64

If you want to have the next month with the same day as this month, or the last day of the next month if it otherwise would switch month you can use this function

function nextMonth()
{
    $nextMonthNumber = date('M', strtotime('first day of +1 month'));
    $nextMonthDate = new DateTime();
    $nextMonthDate->add(new DateInterval('P1M'));
    while ($nextMonthDate->format('M') != $nextMonthNumber) {
        $nextMonthDate->sub(new DateInterval('P1D'));
    }
    return $nextMonthDate;
}

Upvotes: 0

Aarsh
Aarsh

Reputation: 31

To get next month using php use string to time function as below:

$nxtm = strtotime("next month");
echo date("M", $nxtm);

Upvotes: 3

Indresh Tayal
Indresh Tayal

Reputation: 306

Use Like This

// One month from today
$date = date('Y-m-d', strtotime('+1 month'));

// One month from a specific date
$date = date('Y-m-d', strtotime('+1 month', strtotime('2015-01-01')));

Upvotes: 11

Related Questions