2015-03-31 4 views
0

Итак, у меня есть этот код, который создает раскрывающееся поле, чтобы выбрать месяц, другое раскрывающееся поле, чтобы выбрать день, а затем текстовое поле для ввода в год. Мой вопрос: что делать дальше в php, чтобы иметь возможность выбирать определенный месяц, день и год, где, когда я нажимаю «рассчитать», он покажет, в какой день этого года он?Программа «День года»

Так, например, если я выбираю 4 января 2015 года, когда я нахожу расчет, я хочу, чтобы он отображал 4, так как это 4-й день календарного года. Как мне это сделать?

<form action="calc.php" method="post"> 
Month: <select name="month"> 
<option value="january">January</option> 
<option value="february">February</option> 
<option value="march">March</option> 
<option value="april">April</option> 
<option value="may">May</option> 
<option value="june">June</option> 
<option value="july">july</option> 
<option value="august">August</option> 
<option value="september">September</option> 
<option value="october">October</option> 
<option value="november">November</option> 
<option value="december">December</option> 
</select> 

Day: <select name="day"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
<option value="13">13</option> 
<option value="14">14</option> 
<option value="15">15</option> 
<option value="16">16</option> 
<option value="17">17</option> 
<option value="18">18</option> 
<option value="19">19</option> 
<option value="20">20</option> 
<option value="21">21</option> 
<option value="22">22</option> 
<option value="23">23</option> 
<option value="24">24</option> 
<option value="25">25</option> 
<option value="26">26</option> 
<option value="27">27</option> 
<option value="28">28</option> 
<option value="29">29</option> 
<option value="30">30</option> 
<option value="31">31</option> 
</select> 

<input name="entry" type="text" size="10" placeholder="Year"> 

<input type="submit" value="Calculate"> 
</form> 

ответ

1

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

echo date("z", strtotime('2015-01-04')); 

Но он возвращает:

В день года (начиная с 0)

Так что вам нужно добавить 1 к результату.

+0

Есть ли способ, чтобы закодировать его так, чтобы не вопрос, какая дата я выбираю, даст день для этой конкретной даты? Код, который вы предоставили, будет работать только с 4 января. – Seth

+0

@Seth Вы не знаете, как принимать значения POST и строить их с помощью конкатенации строк? Это основы: 'date ('z', strtotime ($ _ POST ['month']. ''. $ _ POST ['day']. ''. $ _ POST ['year']))' при условии, что любое отправленное значение равно действительная дата. – sjagr

0

Вы можете попробовать нижеследующий код, чтобы получить день с даты. здесь я использую ту же страницу для сообщения. если вы используете другую страницу для размещения (я имею в виду страницы действия) использовать PHP внутри файла,

HTML

<form action="#" method="post"> 
Month: <select name="month"> 
<option value="01">January</option> 
<option value="02">February</option> 
<option value="03">March</option> 
<option value="04">April</option> 
<option value="05">May</option> 
<option value="06">June</option> 
<option value="07">july</option> 
<option value="08">August</option> 
<option value="09">September</option> 
<option value="10">October</option> 
<option value="11">November</option> 
<option value="12">December</option> 
</select> 

Day: <select name="day"> 
<option value="01">1</option> 
<option value="02">2</option> 
<option value="03">3</option> 
<option value="04">4</option> 
<option value="05">5</option> 
<option value="06">6</option> 
<option value="07">7</option> 
<option value="08">8</option> 
<option value="09">9</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
<option value="13">13</option> 
<option value="14">14</option> 
<option value="15">15</option> 
<option value="16">16</option> 
<option value="17">17</option> 
<option value="18">18</option> 
<option value="19">19</option> 
<option value="20">20</option> 
<option value="21">21</option> 
<option value="22">22</option> 
<option value="23">23</option> 
<option value="24">24</option> 
<option value="25">25</option> 
<option value="26">26</option> 
<option value="27">27</option> 
<option value="28">28</option> 
<option value="29">29</option> 
<option value="30">30</option> 
<option value="31">31</option> 
</select> 

<input name="year" type="text" size="10" placeholder="Year"> 

<input type="submit" name="submit" value="Calculate"> 
</form> 

PHP

<?php 
if(isset($_POST['submit'])) 
{ 
    $date = $_POST['year'].'-'.$_POST['month'].'-'.$_POST['day']; 
    echo date("l", strtotime($date)); 
} 
?> 
Смежные вопросы