Как я могу найти дату после определенных недель? - PullRequest
1 голос
/ 31 октября 2009

Мне нужно найти дату через определенное количество недель. Например, если датой начала является суббота, 31 октября 2009 года, и если я выберу 16 недель, мне нужно будет найти дату после шестнадцати суббот.

Заранее спасибо.

Ответы [ 4 ]

5 голосов
/ 31 октября 2009

Вы можете использовать strtotime :

// Oct 31 2009 plus 16 weeks
echo date('Y-m-d', strtotime('2009-10-31 +16 week')); // outputs 2010-02-20


// next week
echo date('Y-m-d', strtotime('+1 week')); // outputs 2009-11-07
2 голосов
/ 31 октября 2009

strtotime() - это то, что вы хотите: оно берет выражение и превращает его в объект даты. Также см. date():

$date = '31 october 2009';
$modification = '+ 16 weeks';
echo date('Y-m-d (l)', strtotime("$date")); //2009-10-31 (Saturday)
echo date('Y-m-d (l)', strtotime("$date $modification")); // 2010-02-20 (Saturday)
1 голос
/ 31 октября 2009

Если вы используете PHP 5.2.0 или новее, вы можете использовать класс DateTime

<?php
$date = new DateTime('31 October 2009'); // This accepts any format that strtotime() does.

// Now add 16 weeks
$date->modify('+16 weeks');

// Now you can output it however you wish
echo $date->format('Y-m-d');
?>
0 голосов
/ 31 октября 2009

Почему бы просто не использовать время Unix, вычесть 7 * 24 *3600* 16 из этого и затем преобразовать это обратно в нужную вам дату.

Это поможет с конвертацией обратно: http://php.net/manual/en/function.date.php

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