2013-09-21 131 views
0
<?php 
     for ($i=1; $i<13; $i++) { 
     $month = date('m', mktime(0,0,0,$i,2,2000)); 
     $sel = ($i == date('n') ? ' selected="selected"' : ''); 
     $options1[] = "<option value=\"{$month}\" {$sel}>{$month}</option>"; 
} 
     $options_list1 = join("", $options1); 
     echo "<select name=\"month\" >{$options_list1}</select>"; 

     for ($j=1; $j<32; $j++) { 
     $theday = date('d', mktime(0,0,0,0,$j,2000)); 
     $sel = ($j == date('d') ? ' selected="selected"' : ''); 
     $options2[] = "<option value=\"{$theday}\" {$sel}>{$theday}</option>"; 
} 
     $options_list2 = join("\r\n", $options2); 
     echo "<select name=\"day\" >{$options_list2}</select>"; 

     for ($k=1960; $k<2016; $k++) { 
     $theyear = date('Y', mktime(0,0,0,1,1,$k)); 
     $sel1 = ($k == date("Y") ? ' selected="selected"' : ''); 
     $options3[] = "<option value=\"{$theyear}\" {$sel1}>{$theyear}</option>"; 
} 
     $options_list3 = join("\r\n", $options3); 
     echo "<select name=\"year\" >{$options_list3}</select>"; 
     ?> 

这是一个日期,月份和年份的下拉菜单。它今天显示月份和年份,但在它显示我昨天的日期例如今天的日期是2013年9月22日,它显示我9/21/2013。我做错了什么?不显示我今天的日期

+0

可能重复http://stackoverflow.com/questions/10139843/php-date-returning -wrong-time) –

+0

你有时区问题。服务器/脚本时区与您当地的时区不同。查看'echo date('Y-m-d H:i:s);'的输出并将其与当地时间进行比较。使用[date_default_timezone_set()](http://www.php.net/manual/en/function.date-default-timezone-set.php)设置时区。 –

+0

@Glavić,我在我的本地主机服务器上工作,它向我展示了我的系统日期 –

回答

0

您需要设置使用date_default_timezone_set你的时区在php.ini

PHP Manual

[PHP日期返回错误的时间(指