Посмотрев на Страница дат относительного формата PHP.NET, Я все еще не понимаю порядок операций с несколькими относительными датами в strtotime
при вычитании.
Я заметил, что следующие возвращения 1/9/2015.
strtotime('next friday -7 days', strtotime('1/16/2015'))
Все же следующий возврат 1/30/2015.
strtotime('next friday +7 days', strtotime('1/16/2015'))
Я бы истолковал это, поскольку 16.01.2015 — это пятница, а следующая пятница — 23.01.2015 (аналогично тому, как работает второе время). Тогда мы будем вычитать или прибавлять семь дней.
Как видно, это не относится к вычитанию. Любые дополнительные разъяснения по порядку выполнения этих операций.
Переписать код, как показано ниже, решает проблему (возвращает 1/16/2015):
strtotime('friday', strtotime('1/16/2015'))
Я все еще думаю, что формулировка выше должна была сработать, чтобы найти дату 1/16/2015, так что я думаю, что это что-то нужно помнить при использовании strtotime
,
Других решений пока нет …