получить последний четверг перед датой в PHP - PullRequest
3 голосов
/ 27 июля 2011

Я знаю, что есть аналогичный пост о том, как получить последний четверг в PHP, но я не хочу, чтобы последний четверг сравнивался с текущей датой, а последний четверг сравнивался с данной датой.Например, у меня есть дата дд / мм / гггг, и я хочу четверг до этой даты.Входные данные - это строка (формат строки yymmdd), которую я хочу проанализировать, чтобы получить четверг до этой даты.

Спасибо за помощь

Ответы [ 2 ]

8 голосов
/ 27 июля 2011
//Assumes it's strtotime parsable, you may need to insert
//  slashes with your given format eg (and use 4 digit years)
$given=strtotime($dtstring);

//It's just that easy ;)
$thuBefore=strtotime("last thursday",$given);

Обратите внимание, что это всегда получит последний четверг, то есть, если данная дата будет четвергом, она сообщит на 7 дней раньше (но если дата пятница, она сообщит только одинднем ранее).

3 голосов
/ 27 июля 2011
$day = date('w', $yourTime);
$time = $yourTime - ($day > 4 ? ($day - 4) : ($day + 7 - 4)) * 3600 * 24;

Где $yourTime и $time являются метками времени Unix.

Редактировать: @ Решение Rudu гораздо проще, вам следует придерживаться этого :)!

...