【问题标题】:Day of the Year Program年度计划
【发布时间】:2015-06-05 04:44:43
【问题描述】:

所以我有这段代码,它创建一个下拉框来选择月份,另一个下拉框来选择日期,然后是一个文本字段来输入年份。我的问题是在 php 中接下来要做什么才能选择某个月、日和年到哪里,当我点击“计算”时,它会显示那一年的哪一天?

例如,如果我选择 2015 年 1 月 4 日,当我单击计算时,我希望它显示 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>

【问题讨论】:

    标签: php html forms function loops


    【解决方案1】:

    你可以使用date:

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

    但它会返回:

    一年中的某一天(从 0 开始)

    所以你需要在结果中加 1。

    【讨论】:

    • 有没有办法对其进行编码,以便无论我选择哪个日期,它都会给出该特定日期的日期?您提供的代码仅适用于 1 月 4 日。
    • @Seth 您不知道如何接受 POST 值并使用字符串连接构建它们?这些是基础知识:date('z', strtotime($_POST['month'].' '.$_POST['day'].' '.$_POST['year'])) 假设任何发送的值都是有效日期。
    【解决方案2】:

    您可以尝试以下代码来获取日期。在这里,我使用相同的页面来发布帖子。如果您使用另一个页面进行发布(我的意思是操作页面),请使用该文件中的 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));
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      相关资源
      最近更新 更多