2013-03-09 2 views
1

Я хотел бы сделать отборный список дат, на которые пользователь может выбрать. Дата должна начинаться с . Текущая дата сегодня и заканчивается через 5 дней после. Я просто не знаю, как выполнить его внутри цикла, поэтому я не буду менять дату снова и снова. Благодарю. Пожалуйста помоги.Цитирование с даты начала и до конца

+0

Это зависит в значительной степени, на которой язык программирования ваших используют. –

+0

его PHP. Извините, забыл упомянуть об этом. –

ответ

0

Вы можете использовать функции PHP DateTime для этого:

<?php 

    $date = new DateTime(); // Without argument: now 
    $interval = new Dateinterval("P1D"); // Period: 1 day 
    for ($i = 0; $i <= 5; $i++) { 
     echo $date->format("Y-m-d")."\n"; 
     $date->add($interval); 
    } 
?> 
0
<?php 
    $today = date('d/m/y'); 
    for($i=0; $i<5; $i++) { 
      $nextDay = date('m/d/y', time() + (86400*$i)); 
      //make something with your date 
    } 
?> 

Вы имеете в виду что-то вроде этого?

+0

Он работает! Но он добавляет 5 к месяцам не к дням. –

+0

Нет. Это добавляет к дням. '24 (h) * 60 (мин) * 60 (с) = 86400'. Я изменил форматирование, проверьте его сейчас. В польской нотации дни наступают первыми, а не месяцами. Я забыл об этой детали. – Fuv

0
echo "<select name=\"date\">\n"; 
for($i=time();$i<time()+5*24*60*60;$i+=24*60*60) { 
    $d = date('Y-m-d', $i); 
    echo echo "<option value=\"$d\">$d</option>\n"; 
} 
echo "</select>\n"; 
0

Быстрый и грязный способ:

for ($i = 0; $i < 5; $i++){ 
    print date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + $i, date('Y'))); 
    print "\n"; 
} 
0

Вы можете использовать метку времени UNIX для хранения времени и петли.

Используйте date('Y-m-d', $timestamp) для создания строки даты.

Используйте strtotime($string) для преобразования строки Y-m-d в целое число времени.

$now = time(); 
for($i = $now; $i < $now + 5*86400; $i=$i+86400) 
{ 
    $Ymd = date('Y-m-d', $i); 
    //do other things here. 
} 
Смежные вопросы