Как мне вернуть предыдущее воскресенье из 7 дней назад, используя PHP date ()? - PullRequest
1 голос
/ 19 января 2011

Вот что у меня есть:

$date = date('Y-m-d h:i:s', strtotime('-7 days')); 
$start = date('Y-m-d h:i:s', strtotime($date,'previous Sunday'));

При выводе $ start возвращается: 1969-12-31 06: 00: 00

Что я делаю не так?

Ответы [ 4 ]

4 голосов
/ 19 января 2011

$date нужна метка времени

$date = strtotime('-7 days'); 
$start = date('Y-m-d h:i:s', strtotime('previous Sunday',$date));
2 голосов
/ 19 января 2011

У вас неверные аргументы:

date('Y-m-d h:i:s', strtotime('previous Sunday', $date));

Редактировать : Более того, вы сделали $date отформатированной строкой.Это должна быть временная метка, поэтому ваш код должен выглядеть примерно так:

$date = strtotime('-7 days'); 
$start = date('Y-m-d h:i:s', strtotime('previous Sunday', $date));
0 голосов
/ 17 февраля 2014

Если ваша дата не является временной меткой, вы все равно можете использовать strtotime, например, предположим, что ваша дата уже была передана и имеет формат строки другого типа.

$date = '2013-11-10';
$lastsunday = date('Y-m-d',strtotime($date.' last Sunday'));

Это может сэкономить немноговремени, пытаясь перевести вашу дату в формат, который «работает»

0 голосов
/ 19 января 2011

За php doc

date('Y-m-d h:i:s', strtotime('last Sunday', $date));
...