Intereting Posts
Отфильтруйте файл csv словом или текстом, используя php PDO и MySQL 'между' API-интерфейс Gmail PHP Отправка электронной почты Проблемная проблема – сортировка XML-данных с использованием PHP Изображение PHP / Imagick / PDFlib Flop изменяет свою битовую глубину Facebook PHP SDK – не выйдет из системы должным образом Работа в фоновом режиме с веб-приложения Множественные подсчеты в CakePHP Калькулятор доставки WooCommerce (shipping-calculator.php) – Переопределение PHP – только почтовый индекс Модуль не может быть инициализирован zf3 уже искали Интернет Как получить разрешение экрана посетителя в javascript и / или php? PHP date_default_timezone_set () Восточное стандартное время (EST) REGEX: как удалить комментарии из javascripts, используя PHP-код Как преобразовать PDF-документ в изображение предварительного просмотра в PHP? Если имена верхних регистров преобразуются в правильное дело, обрабатываются «О'Хара», «Макдональд», «Ван дер Слоут» и т. Д.

PHP Выберите каждую среду

Мне нужна помощь Выберите каждую среду, начиная с 5/2/12. Этот код ниже выбирает каждую среду, начиная с текущей недели. Но мне нужно установить начальную неделю. Я знаком с PHP, но не знаком с датами php. Поэтому, пожалуйста, будьте как можно более конкретными. Я нашел это:

$number_of_dates = 10; for ($i = 0; $i < $number_of_dates; $i++) { echo date('md-Y', strtotime('Wednesday +' . ($i * 2) . ' weeks')). "<br>".PHP_EOL; } 

Используйте mktime чтобы создать свою стартовую дату и передать это как второй аргумент strtotime чтобы подсчет strtotime оттуда:

 $startDate = mktime(0, 0, 0, 5, 2, 2012); // May 2, 2012 for ($i = 0; $i < $number_of_dates; $i++) { $date = strtotime('Wednesday +' . ($i * 2) . ' weeks', $startDate); echo date('md-Y', $date). "<br>".PHP_EOL; } 

Смотрите в действии .

Дайте ему дату в строке, вместо «среды» (которая выбирает следующую среду), напишите:

strtotime('20120502 +' . ($i * 2) . ' weeks'))

Выбрать эту дату. (Формат – yyyymmdd).

Если у вас есть PHP 5.2.0 или новее, вы можете сделать это легко следующим образом:

 $date = new DateTime('2006-05-02'); for ($i=0; $i<10; $i++) { echo $date->format('md-Y').'<br/>'.PHP_EOL; $date->modify('+1 week'); } 

Вы также можете использовать DatePeriod и DateInterval чтобы облегчить жизнь.

Стандартный отказ от ответственности: для обоих классов выше требуется PHP> = 5.3.0.

 $number_of_dates = 10; $start_date = new DateTime("5/2/12"); $interval = DateInterval::createFromDateString("second wednesday"); $period = new DatePeriod($start_date, $interval, $number_of_dates - 1); foreach ($period as $date) { echo $date->format("mdY") . "<br>" . PHP_EOL; }