Перенаправить на текущую неделю - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть URL:

http://www.mysite.com/number/0

Вот:

$date = new DateTime("2011-11-28"); 
$amountOfDays = ((int)$_GET['number']) * 7;
echo $date->modify('+'.$amountOfDays.' day');

Теперь я хотел бы добавить опцию, устанавливающую текущую дату с понедельником.Например, у меня есть:

http://www.mysite.com/check

Здесь я хотел бы добавить:

$datetime = new DateTime();
$number = ?;
header('Location: http://www.mysite.com/number/' . $number);

дата создания моего сайта:

http://www.mysite.com/number/0 = 2011-11-28 
http://www.mysite.com/number/1 = 2011-12-05 
http://www.mysite.com/number/2 = 2011-12-12 
http://www.mysite.com/number/3 = 2011-12-19

и т. Д.

Я бы хотел http://www.mysite.com/check проверить текущую дату и перенаправить на адекватный http://www.mysite.com/number/x

, например, если

$datetime = new DateTime();
$datime == 2011-12-08; //should be redirect to http://www.mysite.com/number/1 
$datime == 2011-12-05; //should be redirect to http://www.mysite.com/number/1 
$datime == 2011-12-04; //should be redirect to http://www.mysite.com/number/0
$datime == 2011-12-18; //should be redirect to http://www.mysite.com/number/2

и т. Д.

Там даты всегда являются понедельниками (первый день недели)

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Мне кажется, я понимаю, что вы хотите.

$ref = strtotime('2011-11-28');

$today = strtotime('2011-12-19');
/* Your selected Monday. */

$week = 3600 * 24 * 7; /* Number of seconds in a week. */

$number = ($today-$ref)/$week;
/* You could ceil() or floor() this, depending on how you want it to behave. */
0 голосов
/ 28 декабря 2011

Вот мой подход, основанный на моих предложениях ...

$datetime = new DateTime();
$starttime = new DateTime( '2011-11-28' );
$daydifference = $starttime->diff( $datetime )->days;
$numberdifference = $daydifference - $daydifference % 7;
header( 'HTTP/1.1 307 Temporary Redirect' );
header( sprintf( 'Location: http://www.mysite.com/number/%s', $numberdifference ) );

PS: не проверено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...