Вы можете использовать mktime()
и установить дневной аргумент, который меньше 1
: 0
за последний день, -1
за день до последнего дня и т. Д.
Тодает вам метку времени UNIX, которую вы можете использовать для определения дня недели, а затем - пока вы не достигнете воскресенья / понедельника (независимо от того, какое начало недели вы используете) - вычтите -86400 или снова позвоните mktime()
с уменьшенным днем на 1.
Пример:
mktime(0, 0, 0, 12, -1, 2010); # timestamp of Nov 29th 00:00:00 2010