10

I have a date given as a string. And I would like to get the first monday after this given date, again as a string.

$myDate = "2014-08-24"; // date given in Y-m-d
$nextMonday = ??? // how to get the next monday after $myDate?

This sounds like a question that was solved before, like PHP get next occurrence of Monday from a certain date (with time) or When a date is given how to get the date of Monday of that week in php. But it actually is a different problem, because I am running into a lot of conversion issues and a little bit confused how to solve this.

Community
  • 1
  • 1
Pascal Klein
  • 23,665
  • 24
  • 82
  • 119

2 Answers2

19

you can use this

<?php
$myDate = "2014-08-27";
$next_monday = date('Y-m-d', strtotime("next monday", strtotime($myDate)));
echo $next_monday;
?>

OUTPUT :

2014-09-01

Demo

Satish Sharma
  • 9,547
  • 6
  • 29
  • 51
12

You can do it using the DateTime and DateTime::modify

$date = new DateTime('2014-08-24');
$date->modify('next monday');
echo $date->format('Y-m-d') . "\n";
Luke
  • 3,985
  • 1
  • 20
  • 35
Abhik Chakraborty
  • 44,654
  • 6
  • 52
  • 63