2013-09-21 132 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日期返回錯誤的時間(指