警告:date()期望参数2为long,字符串为

时间:2010-07-20 20:25:54

标签: php date

它的

$ birthDay = date(“d”,$ alder); $ birthYear = date(“Y”,$ alder);

我不知道它是什么

这是我的代码

        //Dag
            $maxDays = 31;
            $birthDay = date("d", $alder);
            echo '<select name="day">';
            echo '<option value="">Dag</option>';
            for($i=1; $i<=$maxDays; $i++)
            {
            echo '<option '; if($birthDay == $i){ echo 'selected="selected"'; } echo ' value="'.$i.'">'.$i.'</option>';
            }
            echo '</select>';

        //Måned
            echo '<select name="month">';
            $birthMonth = date("m", $alder);
            $aManeder = 12;
            echo '<option value="">Måned</option>';
            for($i = 1; $i <= $aManeder; $i++)
            {
            echo '<option '; if($birthMonth == $i) { echo 'selected="selected"'; } echo ' value="'.$i.'">'.$ManderArray[$i].'</option>';
            }
            echo '</select>';


        //År
            $startYear = date("Y");
            $endYear = $startYear - 30;
            $birthYear = date("Y", $alder);
            echo '<select name="year">';
            echo '<option value="">år</option>';
            while($endYear <= $startYear)
            {
            echo '<option '; if($birthYear == $endYear) { echo 'selected="selected"'; } echo ' value="'.$endYear.'">'.$endYear.'</option>';
            $endYear++;
            }
            echo '</select>';

3 个答案:

答案 0 :(得分:0)

错误消息显示全部:参数2($ alder)没有有效的数值。在错误行之前插入以下行,并追溯$ alder当前值的来源:

var_dump($alder);

您可以使用0或microtime(true)初始化$ alder,以便date()获得有效参数。但是,如果将其设置为空字符串(''),您将始终收到上述错误消息。

答案 1 :(得分:0)

在失败的陈述之前尝试:

$ alder =(int)$ alder;

答案 2 :(得分:0)

date() function需要一个unix时间戳...我觉得你把它作为一个字符串传递给它。

e.g。 2014-01-10

您应该使用:

$birthMonth = date("m", strtotime($alder));