PHP中生日月份和日期的下拉列表

PHP中生日月份和日期的下拉列表,php,html,css,Php,Html,Css,在PHP中获取月和日下拉列表的最佳方法是什么 我尝试了以下代码,但mktime已贬值: for ($j = 1; $j <= 12; $j++) { $month_text = date("F", time(0, 0, 0, $j+1, 0, 0, 0)); $month[$j] = $month_text; } 对于($j=1;$j您使它变得比需要的复杂得多。只需将月份的名称放入数组中,然后使用range()创建天数数组 $months = array("J

在PHP中获取月和日下拉列表的最佳方法是什么

我尝试了以下代码,但
mktime
已贬值:

 for ($j = 1; $j <= 12; $j++) 
 {
    $month_text = date("F", time(0, 0, 0, $j+1, 0, 0, 0));
    $month[$j] = $month_text;
 }  

对于($j=1;$j您使它变得比需要的复杂得多。只需将月份的名称放入数组中,然后使用
range()
创建天数数组

$months = array("January","February","March","April","May","June","July","August","September","October","November","December");
$days = range(1, 31);

如果您希望月号与月名一致,只需在月数组的开头添加一个空数组元素。

您使其变得比需要的复杂得多。只需将月名放入数组中,然后使用
range()
创建天数数组

$months = array("January","February","March","April","May","June","July","August","September","October","November","December");
$days = range(1, 31);

如果您希望月号与月名一致,只需在月数组的开头添加一个空数组元素。

在这里之前已经提出过这个问题:

这就是他所做的,但请记住,他确实使用了mktime,正如您所说的,mktime已被弃用。为避免列出年份,请执行以下操作:

<?php

    // build months menu
    echo '<select name="month">' . PHP_EOL;
    for ($m=1; $m<=12; $m++) {
        echo '  <option value="' . $m . '">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
    }
    echo '</select>' . PHP_EOL;

    // build days menu
    echo '<select name="day">' . PHP_EOL;
    for ($d=1; $d<=31; $d++) {
        echo '  <option value="' . $d . '">' . $d . '</option>' . PHP_EOL;
    }
    echo '</select>' . PHP_EOL;
?>

这个问题以前在这里被问过:

这就是他所做的,但请记住,他确实使用了mktime,正如您所说的,mktime已被弃用。为避免列出年份,请执行以下操作:

<?php

    // build months menu
    echo '<select name="month">' . PHP_EOL;
    for ($m=1; $m<=12; $m++) {
        echo '  <option value="' . $m . '">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
    }
    echo '</select>' . PHP_EOL;

    // build days menu
    echo '<select name="day">' . PHP_EOL;
    for ($d=1; $d<=31; $d++) {
        echo '  <option value="' . $d . '">' . $d . '</option>' . PHP_EOL;
    }
    echo '</select>' . PHP_EOL;
?>


Checkout DateTime,Checkout DateTime,我必须这样写下月份吗?你为什么不写?没有更好的方法了。没有31天的月份如何?@RonniSkansing如果他们只输出一个月的天数,他们就需要使代码更智能,以计算当月的实际天数。但是,由于他们的代码似乎更通用,并且为所有12个月提供选项,我们需要将其设置为31天,这样每个月的天数就都有了。如果他们愿意,他们可以在选择一个月时添加JavaScript来更新该值。但这超出了这个问题的范围。我不在乎这个月没有31天,只是下拉菜单选择我必须在这样的数组中写下月份吗?你为什么不写?没有更好的方法了。没有31天的月份如何?@RonniSkansing如果他们只输出一个月的天数,他们需要使代码更智能,以说明一个月的实际天数。但是由于他们的code似乎更通用,为所有12个月提供选项。我们需要将其设置为31天,这样每个月都有所有的天数。如果他们愿意,他们可以在选择一个月时添加JavaScript来更新该值。但这超出了这个问题的范围。我不在乎这个月没有31天,它只是一个下拉菜单e选择该解决方案对我没有帮助,因为mktime是depreciated@user3150060据了解,它没有完全折旧。折旧的构造函数是使用参数isdst的构造函数。这样做是为了鼓励人们使用新的时区处理功能。你是说如果我使用这个日期('M',mktime(0,0,0,$M))我不会收到贬值警告?我的计算机目前没有配置为运行php,因此我无法用代码验证。但根据文档,似乎是这样。该解决方案对我没有帮助,因为mktime是depreciated@user3150060根据它,未完全折旧。折旧的构造函数是使用参数is_ds的构造函数t、 这样做是为了鼓励人们使用新的时区处理功能。你是说,如果我使用这个日期('M',mktime(0,0,0,$M)),我不会收到贬值警告?我的计算机目前没有配置为运行php,因此我无法用代码验证。但根据文档,似乎是这样。